From e1fe91180e4e29549f35f8ecd705b0bb4f208606 Mon Sep 17 00:00:00 2001 From: Stefan Liebler Date: Wed, 26 Aug 2015 10:26:22 +0200 Subject: S390: Optimize strncat wcsncat. This patch provides optimized versions of strncat and wcsncat with the z13 vector instructions. ChangeLog: * sysdeps/s390/multiarch/strncat-c.c: New File. * sysdeps/s390/multiarch/strncat-vx.S: Likewise. * sysdeps/s390/multiarch/strncat.c: Likewise. * sysdeps/s390/multiarch/wcsncat-c.c: Likewise. * sysdeps/s390/multiarch/wcsncat-vx.S: Likewise. * sysdeps/s390/multiarch/wcsncat.c: Likewise. * sysdeps/s390/multiarch/Makefile (sysdep_routines): Add strncat and wcsncat functions. * sysdeps/s390/multiarch/ifunc-impl-list.c (__libc_ifunc_impl_list): Add ifunc test for strncat, wcsncat. * wcsmbs/wcsncat.c (WCSNCAT): Define and use macro. * string/test-strncat.c: Add wcsncat support. * wcsmbs/test-wcsncat.c: New File. * wcsmbs/Makefile (strop-tests): Add wcsncat. * benchtests/bench-strncat.c: Add wcsncat support. * benchtests/bench-wcsncat.c: New File. * benchtests/Makefile (wcsmbs-bench): Add wcsncat. --- sysdeps/s390/multiarch/Makefile | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'sysdeps/s390/multiarch/Makefile') diff --git a/sysdeps/s390/multiarch/Makefile b/sysdeps/s390/multiarch/Makefile index 6283999..33c1398 100644 --- a/sysdeps/s390/multiarch/Makefile +++ b/sysdeps/s390/multiarch/Makefile @@ -5,7 +5,8 @@ sysdep_routines += strlen strlen-vx strlen-c \ stpcpy stpcpy-vx stpcpy-c \ strncpy strncpy-vx \ stpncpy stpncpy-vx stpncpy-c \ - strcat strcat-vx strcat-c + strcat strcat-vx strcat-c \ + strncat strncat-vx strncat-c endif ifeq ($(subdir),wcsmbs) @@ -15,5 +16,6 @@ sysdep_routines += wcslen wcslen-vx wcslen-c \ wcpcpy wcpcpy-vx wcpcpy-c \ wcsncpy wcsncpy-vx wcsncpy-c \ wcpncpy wcpncpy-vx wcpncpy-c \ - wcscat wcscat-vx wcscat-c + wcscat wcscat-vx wcscat-c \ + wcsncat wcsncat-vx wcsncat-c endif -- cgit v1.1