diff options
author | Rajalakshmi Srinivasaraghavan <raji@linux.vnet.ibm.com> | 2017-10-02 17:31:13 +0530 |
---|---|---|
committer | Rajalakshmi Srinivasaraghavan <raji@linux.vnet.ibm.com> | 2017-10-02 17:31:13 +0530 |
commit | 59ba2d2b542142e575d185f07e1eb96800d9862c (patch) | |
tree | f2137c2e24bf432a39491ac0aeacd08d8f4970f2 /sysdeps/powerpc/powerpc64/multiarch/ifunc-impl-list.c | |
parent | 397286ea93ad30c24a5dad7928d0056c7b7d603d (diff) | |
download | glibc-59ba2d2b542142e575d185f07e1eb96800d9862c.tar.gz glibc-59ba2d2b542142e575d185f07e1eb96800d9862c.tar.xz glibc-59ba2d2b542142e575d185f07e1eb96800d9862c.zip |
powerpc: Optimize memrchr for power8
Vectorized loops are used for sizes greater than 32B to improve performance over power7 optimization. This shows as an average of 25% improvement depending on the position of search character. The performance is same for shorter strings.
Diffstat (limited to 'sysdeps/powerpc/powerpc64/multiarch/ifunc-impl-list.c')
-rw-r--r-- | sysdeps/powerpc/powerpc64/multiarch/ifunc-impl-list.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/sysdeps/powerpc/powerpc64/multiarch/ifunc-impl-list.c b/sysdeps/powerpc/powerpc64/multiarch/ifunc-impl-list.c index a1d3ca0088..6a88536c98 100644 --- a/sysdeps/powerpc/powerpc64/multiarch/ifunc-impl-list.c +++ b/sysdeps/powerpc/powerpc64/multiarch/ifunc-impl-list.c @@ -194,6 +194,9 @@ __libc_ifunc_impl_list (const char *name, struct libc_ifunc_impl *array, /* Support sysdeps/powerpc/powerpc64/multiarch/memrchr.c. */ IFUNC_IMPL (i, name, memrchr, IFUNC_IMPL_ADD (array, i, memrchr, + hwcap2 & PPC_FEATURE2_ARCH_2_07, + __memrchr_power8) + IFUNC_IMPL_ADD (array, i, memrchr, hwcap & PPC_FEATURE_HAS_VSX, __memrchr_power7) IFUNC_IMPL_ADD (array, i, memrchr, 1, |