S390: Optimize strcat and wcscat.
commitd626a24f235dbd4c446b241211a9a264a1eedb9e
authorStefan Liebler <stli@linux.vnet.ibm.com>
Wed, 26 Aug 2015 08:26:21 +0000 (26 10:26 +0200)
committerAndreas Krebbel <krebbel@linux.vnet.ibm.com>
Wed, 26 Aug 2015 08:26:21 +0000 (26 10:26 +0200)
treedb067b49b08a07006865e78595277bebd2783cea
parentb3a0c176d1185621c4dd2bb3a51ec961bdb29123
S390: Optimize strcat and wcscat.

This patch provides optimized versions of strcat and wcscat with the z13
vector instructions.

ChangeLog:

* sysdeps/s390/multiarch/strcat-c.c: New File.
* sysdeps/s390/multiarch/strcat-vx.S: Likewise.
* sysdeps/s390/multiarch/strcat.c: Likewise.
* sysdeps/s390/multiarch/wcscat-c.c: Likewise.
* sysdeps/s390/multiarch/wcscat-vx.S: Likewise.
* sysdeps/s390/multiarch/wcscat.c: Likewise.
* sysdeps/s390/multiarch/Makefile (sysdep_routines): Add strcat and
wcscat functions.
* sysdeps/s390/multiarch/ifunc-impl-list.c
(__libc_ifunc_impl_list): Add ifunc test for strcat, wcscat.
* string/strcat.c (STRCAT): Define and use macro.
* wcsmbs/wcscat.c: Use WCSCAT if defined.
* string/test-strcat.c: Add wcscat support.
* wcsmbs/test-wcscat.c: New File.
* wcsmbs/Makefile (strop-tests): Add wcscat.
* benchtests/bench-strcat.c: Add wcscat support.
* benchtests/bench-wcscat.c: New File.
* benchtests/Makefile (wcsmbs-bench): Add wcscat.
17 files changed:
ChangeLog
benchtests/Makefile
benchtests/bench-strcat.c
benchtests/bench-wcscat.c [copied from string/strcat.c with 73% similarity]
string/strcat.c
string/test-strcat.c
sysdeps/s390/multiarch/Makefile
sysdeps/s390/multiarch/ifunc-impl-list.c
sysdeps/s390/multiarch/strcat-c.c [copied from string/strcat.c with 62% similarity]
sysdeps/s390/multiarch/strcat-vx.S [new file with mode: 0644]
sysdeps/s390/multiarch/strcat.c [copied from string/strcat.c with 69% similarity]
sysdeps/s390/multiarch/wcscat-c.c [copied from string/strcat.c with 72% similarity]
sysdeps/s390/multiarch/wcscat-vx.S [new file with mode: 0644]
sysdeps/s390/multiarch/wcscat.c [copied from string/strcat.c with 67% similarity]
wcsmbs/Makefile
wcsmbs/test-wcscat.c [copied from string/strcat.c with 73% similarity]
wcsmbs/wcscat.c