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