powerpc: Optimized st{r,p}cpy for POWER8/PPC64
authorAdhemerval Zanella <azanella@linux.vnet.ibm.com>
Tue, 23 Dec 2014 11:59:44 +0000 (05:59 -0600)
committerAdhemerval Zanella <azanella@linux.vnet.ibm.com>
Tue, 13 Jan 2015 16:28:30 +0000 (11:28 -0500)
commit96d6fd6c4060d739abb1822e7ad633af749532b2
tree3958c551f6b4e375b62cf08e3e30fd472a94acf7
parent0f9e585480edcdf1e30dc3d79e24b84aeee516fa
powerpc: Optimized st{r,p}cpy for POWER8/PPC64

This patch adds an optimized POWER8 strcpy using unaligned accesses.
For strings up to 16 bytes the implementation first calculate the
string size, like strlen, and issues a memcpy.  For larger strings,
source is first aligned to 16 bytes and then tested over a loop that
reads 16 bytes am combine the cmpb results for speedup.  Special case is
added for page cross reads.

It shows 30%-60% improvement over the optimized POWER7 one that uses
only aligned accesses.
ChangeLog
NEWS
sysdeps/powerpc/powerpc64/multiarch/Makefile
sysdeps/powerpc/powerpc64/multiarch/ifunc-impl-list.c
sysdeps/powerpc/powerpc64/multiarch/stpcpy-power8.S [new file with mode: 0644]
sysdeps/powerpc/powerpc64/multiarch/strcpy-power8.S [new file with mode: 0644]
sysdeps/powerpc/powerpc64/multiarch/strcpy.c
sysdeps/powerpc/powerpc64/power8/stpcpy.S [new file with mode: 0644]
sysdeps/powerpc/powerpc64/power8/strcpy.S [new file with mode: 0644]