PowerPC: optimized memmove for POWER7/PPC64
authorAdhemerval Zanella <azanella@linux.vnet.ibm.com>
Fri, 20 Jun 2014 17:55:16 +0000 (12:55 -0500)
committerAdhemerval Zanella <azanella@linux.vnet.ibm.com>
Mon, 7 Jul 2014 20:41:21 +0000 (15:41 -0500)
commit17762f662582f72bbbc82b445e9113dbff01f46f
tree9bc7266cc93046632dddbb7aa9f2360fd8e81afe
parentd6f68bbef4427850c2901728a1d13efc0e687297
PowerPC: optimized memmove for POWER7/PPC64

This patch adds an optimized memmove optimization for POWER7/powerpc64.
Basically the idea is to use the memcpy for POWER7 on non-overlapped
memory regions and a optimized backward memcpy for memory regions
that overlap (similar to the idea of string/memmove.c).

The backward memcpy algorithm used is similar the one use for memcpy for
POWER7, with adjustments done for alignment.  The difference is memory
is always aligned to 16 bytes before using VSX/altivec instructions.
ChangeLog
string/bcopy.c
sysdeps/powerpc/powerpc64/multiarch/Makefile
sysdeps/powerpc/powerpc64/multiarch/bcopy-ppc64.c [new file with mode: 0644]
sysdeps/powerpc/powerpc64/multiarch/bcopy.c [new file with mode: 0644]
sysdeps/powerpc/powerpc64/multiarch/ifunc-impl-list.c
sysdeps/powerpc/powerpc64/multiarch/memmove-power7.S [new file with mode: 0644]
sysdeps/powerpc/powerpc64/multiarch/memmove-ppc64.c [new file with mode: 0644]
sysdeps/powerpc/powerpc64/multiarch/memmove.c [new file with mode: 0644]
sysdeps/powerpc/powerpc64/power7/bcopy.c [new file with mode: 0644]
sysdeps/powerpc/powerpc64/power7/memmove.S [new file with mode: 0644]