diff options
author | Adhemerval Zanella <azanella@linux.vnet.ibm.com> | 2015-01-07 07:18:30 -0500 |
---|---|---|
committer | Adhemerval Zanella <azanella@linux.vnet.ibm.com> | 2015-01-13 11:28:58 -0500 |
commit | 8bedcb5f03c62bf6001396dafdd82fbd4da7c2db (patch) | |
tree | 436c29346cd848224d7adee415d8e78cc4409915 /sysdeps/powerpc/powerpc64/multiarch/ifunc-impl-list.c | |
parent | f06a4faf8a2b4d046eb40e94b47948cc47d79902 (diff) | |
download | glibc-8bedcb5f03c62bf6001396dafdd82fbd4da7c2db.tar glibc-8bedcb5f03c62bf6001396dafdd82fbd4da7c2db.tar.gz glibc-8bedcb5f03c62bf6001396dafdd82fbd4da7c2db.tar.bz2 glibc-8bedcb5f03c62bf6001396dafdd82fbd4da7c2db.zip |
powerpc: Optimized strcmp for POWER8/PPC64
This patch adds an optimized POWER8 strcmp using unaligned accesses.
The algorithm first check the initial 16 bytes, then align the first
function source and uses unaligned loads on second argument only.
Aditional checks for page boundaries are done for unaligned cases
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 132cb13eac..2c03060d4e 100644 --- a/sysdeps/powerpc/powerpc64/multiarch/ifunc-impl-list.c +++ b/sysdeps/powerpc/powerpc64/multiarch/ifunc-impl-list.c @@ -301,6 +301,9 @@ __libc_ifunc_impl_list (const char *name, struct libc_ifunc_impl *array, /* Support sysdeps/powerpc/powerpc64/multiarch/strcmp.c. */ IFUNC_IMPL (i, name, strcmp, IFUNC_IMPL_ADD (array, i, strcmp, + hwcap2 & PPC_FEATURE2_ARCH_2_07, + __strcmp_power8) + IFUNC_IMPL_ADD (array, i, strcmp, hwcap & PPC_FEATURE_HAS_VSX, __strcmp_power7) IFUNC_IMPL_ADD (array, i, strcmp, 1, |