aboutsummaryrefslogtreecommitdiff
path: root/sysdeps/powerpc/powerpc64/multiarch/Makefile
diff options
context:
space:
mode:
authorAdhemerval Zanella <azanella@linux.vnet.ibm.com>2014-06-20 12:55:16 -0500
committerAdhemerval Zanella <azanella@linux.vnet.ibm.com>2014-07-07 15:41:21 -0500
commit17762f662582f72bbbc82b445e9113dbff01f46f (patch)
tree9bc7266cc93046632dddbb7aa9f2360fd8e81afe /sysdeps/powerpc/powerpc64/multiarch/Makefile
parentd6f68bbef4427850c2901728a1d13efc0e687297 (diff)
downloadglibc-17762f662582f72bbbc82b445e9113dbff01f46f.tar
glibc-17762f662582f72bbbc82b445e9113dbff01f46f.tar.gz
glibc-17762f662582f72bbbc82b445e9113dbff01f46f.tar.bz2
glibc-17762f662582f72bbbc82b445e9113dbff01f46f.zip
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.
Diffstat (limited to 'sysdeps/powerpc/powerpc64/multiarch/Makefile')
-rw-r--r--sysdeps/powerpc/powerpc64/multiarch/Makefile3
1 files changed, 2 insertions, 1 deletions
diff --git a/sysdeps/powerpc/powerpc64/multiarch/Makefile b/sysdeps/powerpc/powerpc64/multiarch/Makefile
index 524055ff45..82722fb69f 100644
--- a/sysdeps/powerpc/powerpc64/multiarch/Makefile
+++ b/sysdeps/powerpc/powerpc64/multiarch/Makefile
@@ -18,7 +18,8 @@ sysdep_routines += memcpy-power7 memcpy-a2 memcpy-power6 memcpy-cell \
strspn-power7 strspn-ppc64 strcspn-power7 strcspn-ppc64 \
strpbrk-power7 strpbrk-ppc64 strncpy-power7 strncpy-ppc64 \
stpncpy-power7 stpncpy-ppc64 strcmp-power7 strcmp-ppc64 \
- strcat-power7 strcat-ppc64
+ strcat-power7 strcat-ppc64 memmove-power7 memmove-ppc64 \
+ bcopy-ppc64
CFLAGS-strncase-power7.c += -mcpu=power7 -funroll-loops
CFLAGS-strncase_l-power7.c += -mcpu=power7 -funroll-loops