about summary refs log tree commit diff
diff options
context:
space:
mode:
authorH.J. Lu <hjl.tools@gmail.com>2015-08-20 08:05:39 -0700
committerH.J. Lu <hjl.tools@gmail.com>2015-08-27 09:35:10 -0700
commitbc5a8e94bef09618fcb3e086dc5a42c2ed98e530 (patch)
tree6355eb2bcecf69cd85b08cf09c6dc8ade5e0aa78
parent21596c745d841e6b3384f1af93cfe1df4afc6648 (diff)
downloadglibc-bc5a8e94bef09618fcb3e086dc5a42c2ed98e530.tar.gz
glibc-bc5a8e94bef09618fcb3e086dc5a42c2ed98e530.tar.xz
glibc-bc5a8e94bef09618fcb3e086dc5a42c2ed98e530.zip
Add i386 memchr multiarch functions
-rw-r--r--sysdeps/i386/i686/multiarch/Makefile1
-rw-r--r--sysdeps/i386/multiarch/Makefile3
-rw-r--r--sysdeps/i386/multiarch/ifunc-impl-list.c4
-rw-r--r--sysdeps/i386/multiarch/memchr-sse2-bsf.S (renamed from sysdeps/i386/i686/multiarch/memchr-sse2-bsf.S)0
-rw-r--r--sysdeps/i386/multiarch/memchr-sse2.S (renamed from sysdeps/i386/i686/multiarch/memchr-sse2.S)0
-rw-r--r--sysdeps/i386/multiarch/memchr.S (renamed from sysdeps/i386/i686/multiarch/memchr.S)20
6 files changed, 14 insertions, 14 deletions
diff --git a/sysdeps/i386/i686/multiarch/Makefile b/sysdeps/i386/i686/multiarch/Makefile
index 3b1190eb12..c088a39bea 100644
--- a/sysdeps/i386/i686/multiarch/Makefile
+++ b/sysdeps/i386/i686/multiarch/Makefile
@@ -7,7 +7,6 @@ sysdep_routines += strcmp-ssse3 \
 		   strncpy-sse2 stpcpy-sse2 stpncpy-sse2 strcat-ssse3 \
 		   strcat-sse2 strncat-ssse3 strncat-sse2 strncat-c \
 		   strchr-sse2 strrchr-sse2 strchr-sse2-bsf strrchr-sse2-bsf \
-		   memchr-sse2 memchr-sse2-bsf \
 		   memrchr-sse2 memrchr-sse2-bsf memrchr-c \
 		   rawmemchr-sse2 rawmemchr-sse2-bsf \
 		   strnlen-sse2 strnlen-c \
diff --git a/sysdeps/i386/multiarch/Makefile b/sysdeps/i386/multiarch/Makefile
index 58dffcd78e..937cea9414 100644
--- a/sysdeps/i386/multiarch/Makefile
+++ b/sysdeps/i386/multiarch/Makefile
@@ -17,5 +17,6 @@ sysdep_routines += bcopy-i386 bcopy-i686 bcopy-sse2-unaligned \
 		   bzero-i386 bzero-i586 bzero-i686 \
 		   bzero-sse2 bzero-sse2-rep \
 		   memset-i386 memset-i586 memset-i686 \
-		   memset-sse2 memset-sse2-rep
+		   memset-sse2 memset-sse2-rep \
+		   memchr-sse2-bsf memchr-sse2
 endif
diff --git a/sysdeps/i386/multiarch/ifunc-impl-list.c b/sysdeps/i386/multiarch/ifunc-impl-list.c
index d5df5de426..420efb2874 100644
--- a/sysdeps/i386/multiarch/ifunc-impl-list.c
+++ b/sysdeps/i386/multiarch/ifunc-impl-list.c
@@ -63,15 +63,15 @@ __libc_ifunc_impl_list (const char *name, struct libc_ifunc_impl *array,
 #endif
 	      )
 
-#if 0
   /* Support sysdeps/i386/i686/multiarch/memchr.S.  */
   IFUNC_IMPL (i, name, memchr,
 	      IFUNC_IMPL_ADD (array, i, memchr, HAS_CPU_FEATURE (SSE2),
 			      __memchr_sse2_bsf)
 	      IFUNC_IMPL_ADD (array, i, memchr, HAS_CPU_FEATURE (SSE2),
 			      __memchr_sse2)
-	      IFUNC_IMPL_ADD (array, i, memchr, 1, __memchr_ia32))
+	      IFUNC_IMPL_ADD (array, i, memchr, 1, __memchr_i386))
 
+#if 0
   /* Support sysdeps/i386/i686/multiarch/memcmp.S.  */
   IFUNC_IMPL (i, name, memcmp,
 	      IFUNC_IMPL_ADD (array, i, memcmp, HAS_CPU_FEATURE (SSE4_2),
diff --git a/sysdeps/i386/i686/multiarch/memchr-sse2-bsf.S b/sysdeps/i386/multiarch/memchr-sse2-bsf.S
index a5ae86a7ff..a5ae86a7ff 100644
--- a/sysdeps/i386/i686/multiarch/memchr-sse2-bsf.S
+++ b/sysdeps/i386/multiarch/memchr-sse2-bsf.S
diff --git a/sysdeps/i386/i686/multiarch/memchr-sse2.S b/sysdeps/i386/multiarch/memchr-sse2.S
index ae40677278..ae40677278 100644
--- a/sysdeps/i386/i686/multiarch/memchr-sse2.S
+++ b/sysdeps/i386/multiarch/memchr-sse2.S
diff --git a/sysdeps/i386/i686/multiarch/memchr.S b/sysdeps/i386/multiarch/memchr.S
index 65e6b96f3b..4b2b941418 100644
--- a/sysdeps/i386/i686/multiarch/memchr.S
+++ b/sysdeps/i386/multiarch/memchr.S
@@ -18,10 +18,10 @@
    License along with the GNU C Library; if not, see
    <http://www.gnu.org/licenses/>.  */
 
-#include <sysdep.h>
-#include <init-arch.h>
-
 #if IS_IN (libc)
+# include <sysdep.h>
+# include <init-arch.h>
+
 	.text
 ENTRY(__memchr)
 	.type	__memchr, @gnu_indirect_function
@@ -34,7 +34,7 @@ ENTRY(__memchr)
 	LOAD_FUNC_GOT_EAX ( __memchr_sse2)
 	ret
 
-2:	LOAD_FUNC_GOT_EAX (__memchr_ia32)
+2:	LOAD_FUNC_GOT_EAX (__memchr_i386)
 	ret
 
 3:	LOAD_FUNC_GOT_EAX (__memchr_sse2_bsf)
@@ -45,21 +45,21 @@ weak_alias(__memchr, memchr)
 
 # undef ENTRY
 # define ENTRY(name) \
-	.type __memchr_ia32, @function; \
-	.globl __memchr_ia32; \
+	.type __memchr_i386, @function; \
+	.globl __memchr_i386; \
 	.p2align 4; \
-	__memchr_ia32: cfi_startproc; \
+	__memchr_i386: cfi_startproc; \
 	CALL_MCOUNT
 # undef END
 # define END(name) \
-	cfi_endproc; .size __memchr_ia32, .-__memchr_ia32
+	cfi_endproc; .size __memchr_i386, .-__memchr_i386
 
 # undef libc_hidden_builtin_def
 /* IFUNC doesn't work with the hidden functions in shared library since
    they will be called without setting up EBX needed for PLT which is
    used by IFUNC.  */
 # define libc_hidden_builtin_def(name) \
-	.globl __GI_memchr; __GI_memchr = __memchr_ia32
+	.globl __GI_memchr; __GI_memchr = __memchr_i386
 
 #endif
-#include "../../memchr.S"
+#include <sysdeps/i386/memchr.S>