S390: Optimize strchrnul and wcschrnul.
authorStefan Liebler <stli@linux.vnet.ibm.com>
Wed, 26 Aug 2015 08:26:23 +0000 (10:26 +0200)
committerAndreas Krebbel <krebbel@linux.vnet.ibm.com>
Wed, 26 Aug 2015 08:26:23 +0000 (10:26 +0200)
commitd23d4ef19f1f5463745f2af205acb8c4975fd680
tree3be88b35f969e9163d18731b5db13e1bf398f737
parentcf150d45a97c6bb8410d6d3acf6e1560e8fe96cc
S390: Optimize strchrnul and wcschrnul.

This patch provides optimized versions of strchrnul and wcschrnul with the z13
vector instructions.

ChangeLog:

* sysdeps/s390/multiarch/strchrnul-c.c: New File.
* sysdeps/s390/multiarch/strchrnul-vx.S: Likewise.
* sysdeps/s390/multiarch/strchrnul.c: Likewise.
* sysdeps/s390/multiarch/wcschrnul-c.c: Likewise.
* sysdeps/s390/multiarch/wcschrnul-vx.S: Likewise.
* sysdeps/s390/multiarch/wcschrnul.c: Likewise.
* sysdeps/s390/multiarch/Makefile (sysdep_routines): Add strchrnul and
wcschrnul functions.
* sysdeps/s390/multiarch/ifunc-impl-list.c
(__libc_ifunc_impl_list): Add ifunc test for strchrnul, wcschrnul.
* wcsmbs/wcschrnul.c: Use WCSCHRNUL if defined.
* string/test-strchr.c: Add wcschrnul support.
* wcsmbs/test-wcschrnul.c: New File.
* wcsmbs/Makefile (strop-tests): Add wcschrnul.
* benchtests/bench-strchr.c: Add wcschrnul support.
* benchtests/bench-wcschrnul.c: New File.
* benchtests/Makefile (wcsmbs-bench): Add wcschrnul.
16 files changed:
ChangeLog
benchtests/Makefile
benchtests/bench-strchr.c
benchtests/bench-wcschrnul.c [new file with mode: 0644]
string/test-strchr.c
sysdeps/s390/multiarch/Makefile
sysdeps/s390/multiarch/ifunc-impl-list.c
sysdeps/s390/multiarch/strchrnul-c.c [new file with mode: 0644]
sysdeps/s390/multiarch/strchrnul-vx.S [new file with mode: 0644]
sysdeps/s390/multiarch/strchrnul.c [new file with mode: 0644]
sysdeps/s390/multiarch/wcschrnul-c.c [new file with mode: 0644]
sysdeps/s390/multiarch/wcschrnul-vx.S [new file with mode: 0644]
sysdeps/s390/multiarch/wcschrnul.c [new file with mode: 0644]
wcsmbs/Makefile
wcsmbs/test-wcschrnul.c [new file with mode: 0644]
wcsmbs/wcschrnul.c