diff options
author | Ted Unangst <tedu@cvs.openbsd.org> | 2014-12-11 20:41:09 +0000 |
---|---|---|
committer | Ted Unangst <tedu@cvs.openbsd.org> | 2014-12-11 20:41:09 +0000 |
commit | 9781c5493231615c06a37ce63adbb4d51ce54a82 (patch) | |
tree | de94bce724a3c469324441212f13bebbb4ba399c /lib/libc/arch/i386/string | |
parent | e4428357c8059644bf67b38c2c53a577e14b1d50 (diff) |
we do not need the complexity of an assembly swab function here.
ok deraadt
Diffstat (limited to 'lib/libc/arch/i386/string')
-rw-r--r-- | lib/libc/arch/i386/string/Makefile.inc | 4 | ||||
-rw-r--r-- | lib/libc/arch/i386/string/swab.S | 67 |
2 files changed, 2 insertions, 69 deletions
diff --git a/lib/libc/arch/i386/string/Makefile.inc b/lib/libc/arch/i386/string/Makefile.inc index 3425734040a..cef136c6d45 100644 --- a/lib/libc/arch/i386/string/Makefile.inc +++ b/lib/libc/arch/i386/string/Makefile.inc @@ -1,8 +1,8 @@ -# $OpenBSD: Makefile.inc,v 1.8 2014/12/02 04:04:30 deraadt Exp $ +# $OpenBSD: Makefile.inc,v 1.9 2014/12/11 20:41:08 tedu Exp $ SRCS+= memcpy.c memmove.S \ strchr.S strrchr.S \ - bcmp.S bzero.S ffs.S memchr.S memcmp.S swab.S \ + bcmp.S bzero.S ffs.S memchr.S memcmp.S swab.c \ memset.S strcat.S strcmp.S strcpy.S \ strcspn.c strlen.c strlcat.c strlcpy.c \ strncat.c strncmp.S strncpy.c strpbrk.c strsep.c \ diff --git a/lib/libc/arch/i386/string/swab.S b/lib/libc/arch/i386/string/swab.S deleted file mode 100644 index 305586023da..00000000000 --- a/lib/libc/arch/i386/string/swab.S +++ /dev/null @@ -1,67 +0,0 @@ -/* $OpenBSD: swab.S,v 1.3 2005/08/07 11:30:38 espie Exp $ */ -/* - * Written by J.T. Conklin <jtc@netbsd.org>. - * Public domain. - */ - -#include <machine/asm.h> - -/* - * On the i486, this code is negligibly faster than the code generated - * by gcc at about half the size. If my i386 databook is correct, it - * should be considerably faster than the gcc code on a i386. - */ - -ENTRY(swab) - pushl %esi - pushl %edi - movl 12(%esp),%esi - movl 16(%esp),%edi - movl 20(%esp),%ecx - - cld # set direction forward - - shrl $1,%ecx - testl $7,%ecx # copy first group of 1 to 7 words - jz L2 # while swaping alternate bytes. - .align 2,0x90 -L1: lodsw - rorw $8,%ax - stosw - decl %ecx - testl $7,%ecx - jnz L1 - -L2: shrl $3,%ecx # copy remainder 8 words at a time - jz L4 # while swapping alternate bytes. - .align 2,0x90 -L3: lodsw - rorw $8,%ax - stosw - lodsw - rorw $8,%ax - stosw - lodsw - rorw $8,%ax - stosw - lodsw - rorw $8,%ax - stosw - lodsw - rorw $8,%ax - stosw - lodsw - rorw $8,%ax - stosw - lodsw - rorw $8,%ax - stosw - lodsw - rorw $8,%ax - stosw - decl %ecx - jnz L3 - -L4: popl %edi - popl %esi - ret |