about summary refs log tree commit diff
path: root/string/strchr.c
diff options
context:
space:
mode:
authorStefan Liebler <stli@linux.vnet.ibm.com>2015-08-26 10:26:23 +0200
committerAndreas Krebbel <krebbel@linux.vnet.ibm.com>2015-08-26 10:26:23 +0200
commitcf150d45a97c6bb8410d6d3acf6e1560e8fe96cc (patch)
tree678f57e8e7da3268797cd6567617a27491e4d0fa /string/strchr.c
parentcee82e70ccb7b2f054cd781b0a603ae244523e72 (diff)
downloadglibc-cf150d45a97c6bb8410d6d3acf6e1560e8fe96cc.tar.gz
glibc-cf150d45a97c6bb8410d6d3acf6e1560e8fe96cc.tar.xz
glibc-cf150d45a97c6bb8410d6d3acf6e1560e8fe96cc.zip
S390: Optimize strchr and wcschr.
This patch provides optimized versions of strchr and wcschr with the z13
vector instructions.

ChangeLog:

	* sysdeps/s390/multiarch/strchr-c.c: New File.
	* sysdeps/s390/multiarch/strchr-vx.S: Likewise.
	* sysdeps/s390/multiarch/strchr.c: Likewise.
	* sysdeps/s390/multiarch/wcschr-c.c: Likewise.
	* sysdeps/s390/multiarch/wcschr-vx.S: Likewise.
	* sysdeps/s390/multiarch/wcschr.c: Likewise.
	* sysdeps/s390/multiarch/Makefile (sysdep_routines): Add strchr and
	wcschr functions.
	* sysdeps/s390/multiarch/ifunc-impl-list.c
	(__libc_ifunc_impl_list): Add ifunc test for strchr, wcschr.
	* string/strchr.c (STRCHR): Define and use macro.
	* benchtests/bench-wcschr.c: New File.
	* benchtests/Makefile (wcsmbs-bench): Add wcschr.
Diffstat (limited to 'string/strchr.c')
-rw-r--r--string/strchr.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/string/strchr.c b/string/strchr.c
index f13b2b3d94..f73891d439 100644
--- a/string/strchr.c
+++ b/string/strchr.c
@@ -25,9 +25,13 @@
 
 #undef strchr
 
+#ifndef STRCHR
+# define STRCHR strchr
+#endif
+
 /* Find the first occurrence of C in S.  */
 char *
-strchr (const char *s, int c_in)
+STRCHR (const char *s, int c_in)
 {
   const unsigned char *char_ptr;
   const unsigned long int *longword_ptr;
@@ -175,7 +179,7 @@ strchr (const char *s, int c_in)
 }
 
 #ifdef weak_alias
-#undef index
+# undef index
 weak_alias (strchr, index)
 #endif
 libc_hidden_builtin_def (strchr)