Patchwork powerpc: Rearrange little endian specific files

login
register
mail settings
Submitter Anton Blanchard
Date Jan. 15, 2019, 3:02 a.m.
Message ID <20190115140200.114f84b5@kryten>
Download mbox | patch
Permalink /patch/31060/
State New
Headers show

Comments

Anton Blanchard - Jan. 15, 2019, 3:02 a.m.
Hi,

> This patch moves little endian specific POWER9 optimization files to
> sysdeps/powerpc/powerpc64/le and creates POWER9 ifunc functions
> only for little endian.

This patch causes a 70% regression in my strncmp test.



Typo: __LITTLE_ENDIAN_ should be __LITTLE_ENDIAN__

Thanks,
Anton

Patch

diff --git a/sysdeps/powerpc/powerpc64/multiarch/strncmp.c b/sysdeps/powerpc/powerpc64/multiarch/strncmp.c
index c4a40d1ec7..9c887ee181 100644
--- a/sysdeps/powerpc/powerpc64/multiarch/strncmp.c
+++ b/sysdeps/powerpc/powerpc64/multiarch/strncmp.c
@@ -29,14 +29,18 @@  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;
+# ifdef __LITTLE_ENDIAN__
 extern __typeof (strncmp) __strncmp_power9 attribute_hidden;
+# endif
 # undef strncmp
 
 /* Avoid DWARF definition DIE on ifunc symbol so that GDB can handle
    ifunc symbol properly.  */
 libc_ifunc_redirected (__redirect_strncmp, strncmp,
+# ifdef __LITTLE_ENDIAN_
 			(hwcap2 & PPC_FEATURE2_ARCH_3_00)
 			? __strncmp_power9 :
+# endif
 		       (hwcap2 & PPC_FEATURE2_ARCH_2_07)
 		       ? __strncmp_power8
 		       : (hwcap & PPC_FEATURE_HAS_VSX)