about summary refs log tree commit diff
path: root/sysdeps/powerpc/powerpc64/multiarch/Makefile
diff options
context:
space:
mode:
authorRajalakshmi Srinivasaraghavan <raji@linux.vnet.ibm.com>2015-06-24 02:08:21 -0400
committerTulio Magno Quites Machado Filho <tuliom@linux.vnet.ibm.com>2015-07-16 13:43:51 -0300
commitb42f8cad52ebfbfd43ebf6e42e606b489ffbd466 (patch)
treeec8f4655557211a79429140e55b12d100a2745d7 /sysdeps/powerpc/powerpc64/multiarch/Makefile
parent6b96d6de8ccd1c04f172a43d3785960e0a76be3f (diff)
downloadglibc-b42f8cad52ebfbfd43ebf6e42e606b489ffbd466.tar.gz
glibc-b42f8cad52ebfbfd43ebf6e42e606b489ffbd466.tar.xz
glibc-b42f8cad52ebfbfd43ebf6e42e606b489ffbd466.zip
powerpc: strstr optimization
This patch optimizes strstr function for power >= 7 systems.  Performance
gain is obtained using aligned memory access and usage of cmpb
instruction for quicker comparison.  The average improvement of this
optimization is ~40%.  Tested on ppc64 and ppc64le.

2015-07-16  Rajalakshmi Srinivasaraghavan  <raji@linux.vnet.ibm.com>

	* sysdeps/powerpc/powerpc64/multiarch/Makefile: Add strstr().
	* sysdeps/powerpc/powerpc64/multiarch/ifunc-impl-list.c: Likewise.
	* sysdeps/powerpc/powerpc64/power7/strstr.S: New File.
	* sysdeps/powerpc/powerpc64/multiarch/strstr-power7.S: New File.
	* sysdeps/powerpc/powerpc64/multiarch/strstr-ppc64.c: New File.
	* sysdeps/powerpc/powerpc64/multiarch/strstr.c: New File.
Diffstat (limited to 'sysdeps/powerpc/powerpc64/multiarch/Makefile')
-rw-r--r--sysdeps/powerpc/powerpc64/multiarch/Makefile2
1 files changed, 1 insertions, 1 deletions
diff --git a/sysdeps/powerpc/powerpc64/multiarch/Makefile b/sysdeps/powerpc/powerpc64/multiarch/Makefile
index 17265bd275..3b0e3a0117 100644
--- a/sysdeps/powerpc/powerpc64/multiarch/Makefile
+++ b/sysdeps/powerpc/powerpc64/multiarch/Makefile
@@ -19,7 +19,7 @@ sysdep_routines += memcpy-power7 memcpy-a2 memcpy-power6 memcpy-cell \
 		   strcmp-power8 strcmp-power7 strcmp-ppc64 \
 		   strcat-power8 strcat-power7 strcat-ppc64 \
 		   memmove-power7 memmove-ppc64 wordcopy-ppc64 bcopy-ppc64 \
-		   strncpy-power8
+		   strncpy-power8 strstr-power7 strstr-ppc64
 
 CFLAGS-strncase-power7.c += -mcpu=power7 -funroll-loops
 CFLAGS-strncase_l-power7.c += -mcpu=power7 -funroll-loops