diff options
author | H.J. Lu <hjl.tools@gmail.com> | 2015-08-20 08:28:10 -0700 |
---|---|---|
committer | H.J. Lu <hjl.tools@gmail.com> | 2015-08-27 09:35:10 -0700 |
commit | 3882e4ba5b6a043a034b20b6001dda727cc45a80 (patch) | |
tree | 7a507bc557ae9aa55e41b39e8854d9e0e8f5b895 | |
parent | a51db847c9ca5926c22c9bf2505c3d69886967b8 (diff) | |
download | glibc-3882e4ba5b6a043a034b20b6001dda727cc45a80.tar.gz glibc-3882e4ba5b6a043a034b20b6001dda727cc45a80.tar.xz glibc-3882e4ba5b6a043a034b20b6001dda727cc45a80.zip |
Add i386 memrchr multiarch functions
-rw-r--r-- | sysdeps/i386/i686/multiarch/Makefile | 1 | ||||
-rw-r--r-- | sysdeps/i386/i686/multiarch/memrchr-c.c | 7 | ||||
-rw-r--r-- | sysdeps/i386/multiarch/Makefile | 3 | ||||
-rw-r--r-- | sysdeps/i386/multiarch/ifunc-impl-list.c | 4 | ||||
-rw-r--r-- | sysdeps/i386/multiarch/memrchr-i386.c | 7 | ||||
-rw-r--r-- | sysdeps/i386/multiarch/memrchr-sse2-bsf.S (renamed from sysdeps/i386/i686/multiarch/memrchr-sse2-bsf.S) | 0 | ||||
-rw-r--r-- | sysdeps/i386/multiarch/memrchr-sse2.S (renamed from sysdeps/i386/i686/multiarch/memrchr-sse2.S) | 0 | ||||
-rw-r--r-- | sysdeps/i386/multiarch/memrchr.S (renamed from sysdeps/i386/i686/multiarch/memrchr.S) | 2 |
8 files changed, 11 insertions, 13 deletions
diff --git a/sysdeps/i386/i686/multiarch/Makefile b/sysdeps/i386/i686/multiarch/Makefile index ec128d7047..0b91d00a0d 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 \ - memrchr-sse2 memrchr-sse2-bsf memrchr-c \ rawmemchr-sse2 rawmemchr-sse2-bsf \ strnlen-sse2 strnlen-c \ strcasecmp_l-c strcasecmp-c strcasecmp_l-ssse3 \ diff --git a/sysdeps/i386/i686/multiarch/memrchr-c.c b/sysdeps/i386/i686/multiarch/memrchr-c.c deleted file mode 100644 index ef7bbbe792..0000000000 --- a/sysdeps/i386/i686/multiarch/memrchr-c.c +++ /dev/null @@ -1,7 +0,0 @@ -#if IS_IN (libc) -# define MEMRCHR __memrchr_ia32 -# include <string.h> -extern void *__memrchr_ia32 (const void *, int, size_t); -#endif - -#include "string/memrchr.c" diff --git a/sysdeps/i386/multiarch/Makefile b/sysdeps/i386/multiarch/Makefile index 577bbb6c65..fc9364fe65 100644 --- a/sysdeps/i386/multiarch/Makefile +++ b/sysdeps/i386/multiarch/Makefile @@ -19,5 +19,6 @@ sysdep_routines += bcopy-i386 bcopy-i686 bcopy-sse2-unaligned \ memset-i386 memset-i586 memset-i686 \ memset-sse2 memset-sse2-rep \ memchr-sse2-bsf memchr-sse2 \ - memcmp-i386 memcmp-i686 memcmp-ssse3 memcmp-sse4 + memcmp-i386 memcmp-i686 memcmp-ssse3 memcmp-sse4 \ + memrchr-i386 memrchr-sse2-bsf memrchr-sse2 endif diff --git a/sysdeps/i386/multiarch/ifunc-impl-list.c b/sysdeps/i386/multiarch/ifunc-impl-list.c index e57134d340..15c2009e62 100644 --- a/sysdeps/i386/multiarch/ifunc-impl-list.c +++ b/sysdeps/i386/multiarch/ifunc-impl-list.c @@ -116,15 +116,13 @@ __libc_ifunc_impl_list (const char *name, struct libc_ifunc_impl *array, #endif ) -#if 0 /* Support sysdeps/i386/i686/multiarch/memrchr.S. */ IFUNC_IMPL (i, name, memrchr, IFUNC_IMPL_ADD (array, i, memrchr, HAS_CPU_FEATURE (SSE2), __memrchr_sse2_bsf) IFUNC_IMPL_ADD (array, i, memrchr, HAS_CPU_FEATURE (SSE2), __memrchr_sse2) - IFUNC_IMPL_ADD (array, i, memrchr, 1, __memrchr_ia32)) -#endif + IFUNC_IMPL_ADD (array, i, memrchr, 1, __memrchr_i386)) /* Support sysdeps/i386/i686/multiarch/memset_chk.S. */ IFUNC_IMPL (i, name, __memset_chk, diff --git a/sysdeps/i386/multiarch/memrchr-i386.c b/sysdeps/i386/multiarch/memrchr-i386.c new file mode 100644 index 0000000000..f8cef0712b --- /dev/null +++ b/sysdeps/i386/multiarch/memrchr-i386.c @@ -0,0 +1,7 @@ +#if IS_IN (libc) +# define MEMRCHR __memrchr_i386 +# include <string.h> +extern void *__memrchr_i386 (const void *, int, size_t); +#endif + +#include "string/memrchr.c" diff --git a/sysdeps/i386/i686/multiarch/memrchr-sse2-bsf.S b/sysdeps/i386/multiarch/memrchr-sse2-bsf.S index 043e1bbd23..043e1bbd23 100644 --- a/sysdeps/i386/i686/multiarch/memrchr-sse2-bsf.S +++ b/sysdeps/i386/multiarch/memrchr-sse2-bsf.S diff --git a/sysdeps/i386/i686/multiarch/memrchr-sse2.S b/sysdeps/i386/multiarch/memrchr-sse2.S index 65e3c8bc73..65e3c8bc73 100644 --- a/sysdeps/i386/i686/multiarch/memrchr-sse2.S +++ b/sysdeps/i386/multiarch/memrchr-sse2.S diff --git a/sysdeps/i386/i686/multiarch/memrchr.S b/sysdeps/i386/multiarch/memrchr.S index 32fb1a6792..be8deae4e6 100644 --- a/sysdeps/i386/i686/multiarch/memrchr.S +++ b/sysdeps/i386/multiarch/memrchr.S @@ -34,7 +34,7 @@ ENTRY(__memrchr) LOAD_FUNC_GOT_EAX (__memrchr_sse2) ret -2: LOAD_FUNC_GOT_EAX (__memrchr_ia32) +2: LOAD_FUNC_GOT_EAX (__memrchr_i386) ret 3: LOAD_FUNC_GOT_EAX (__memrchr_sse2_bsf) |