]> git.ipfire.org Git - thirdparty/glibc.git/commit
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>
Wed, 14 Jan 2015 12:58:00 +0000 (07:58 -0500)
commita9728856f02f74b60a546499c5bd8492d1726f98
tree2bfe647bc23435efe2614ea391077f563d092136
parentb53db929e654aaf97a2a239e17a87b04c768b854
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]