summaryrefslogtreecommitdiff
path: root/sysdeps/powerpc/powerpc64/multiarch/strncmp.c
diff options
context:
space:
mode:
authorRajalakshmi Srinivasaraghavan <raji@linux.vnet.ibm.com>2016-12-13 10:53:42 +0530
committerRajalakshmi Srinivasaraghavan <raji@linux.vnet.ibm.com>2016-12-13 10:53:42 +0530
commitd89060d60307c84995177a6fba2ed80c96f6b914 (patch)
treef5d36eab18ecd6cced3967e2b896f48894edc50c /sysdeps/powerpc/powerpc64/multiarch/strncmp.c
parent92dcaa3e2f7bf0f7f1c04cd2fb6a317df1a4e225 (diff)
powerpc: strncmp optimization for power9
Vectorized loops are used for strings > 32B when compared to power8 optimization. Tested on power9 ppc64le simulator.
Diffstat (limited to 'sysdeps/powerpc/powerpc64/multiarch/strncmp.c')
-rw-r--r--sysdeps/powerpc/powerpc64/multiarch/strncmp.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/sysdeps/powerpc/powerpc64/multiarch/strncmp.c b/sysdeps/powerpc/powerpc64/multiarch/strncmp.c
index 63a1aa049a..6b307767a6 100644
--- a/sysdeps/powerpc/powerpc64/multiarch/strncmp.c
+++ b/sysdeps/powerpc/powerpc64/multiarch/strncmp.c
@@ -29,11 +29,14 @@ extern __typeof (strncmp) __strncmp_ppc attribute_hidden;
extern __typeof (strncmp) __strncmp_power4 attribute_hidden;
extern __typeof (strncmp) __strncmp_power7 attribute_hidden;
extern __typeof (strncmp) __strncmp_power8 attribute_hidden;
+extern __typeof (strncmp) __strncmp_power9 attribute_hidden;
# undef strncmp
/* Avoid DWARF definition DIE on ifunc symbol so that GDB can handle
ifunc symbol properly. */
libc_ifunc_redirected (__redirect_strncmp, strncmp,
+ (hwcap2 & PPC_FEATURE2_ARCH_3_00)
+ ? __strncmp_power9 :
(hwcap2 & PPC_FEATURE2_ARCH_2_07)
? __strncmp_power8
: (hwcap & PPC_FEATURE_HAS_VSX)