diff options
author | 2014-12-11 20:41:08 +0000 | |
---|---|---|
committer | 2014-12-11 20:41:08 +0000 | |
commit | fb7c780105b5429ef07d0cf862f59b26d770c0d7 (patch) | |
tree | d30a8cfe11803f3292db16c27ac393a41bbd3761 | |
parent | use a local swapbytes function instead of relying on undefined (diff) | |
download | wireguard-openbsd-fb7c780105b5429ef07d0cf862f59b26d770c0d7.tar.xz wireguard-openbsd-fb7c780105b5429ef07d0cf862f59b26d770c0d7.zip |
we do not need the complexity of an assembly swab function here.
ok deraadt
-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 |