powerpc: strstr optimization

System Internals / glibc - Rajalakshmi Srinivasaraghavan [linux.vnet.ibm.com] - 16 July 2015 11:43 UTC

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

- 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.

b42f8ca powerpc: strstr optimization
ChangeLog | 10 +
sysdeps/powerpc/powerpc64/multiarch/Makefile | 2 +-
.../powerpc/powerpc64/multiarch/ifunc-impl-list.c | 9 +
.../powerpc/powerpc64/multiarch/strstr-power7.S | 44 ++
sysdeps/powerpc/powerpc64/multiarch/strstr-ppc64.c | 29 ++
sysdeps/powerpc/powerpc64/multiarch/strstr.c | 34 ++
sysdeps/powerpc/powerpc64/power7/strstr.S | 509 ++++++++++++++++++++
7 files changed, 636 insertions(+), 1 deletion(-)

Upstream: sourceware.org


  • Share