From 8bedcb5f03c62bf6001396dafdd82fbd4da7c2db Mon Sep 17 00:00:00 2001 From: Adhemerval Zanella Date: Wed, 7 Jan 2015 07:18:30 -0500 Subject: 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 --- sysdeps/powerpc/powerpc64/multiarch/ifunc-impl-list.c | 3 +++ 1 file changed, 3 insertions(+) (limited to 'sysdeps/powerpc/powerpc64/multiarch/ifunc-impl-list.c') 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 @@ -300,6 +300,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) -- cgit v1.2.3-70-g09d2