diff options
author | Adhemerval Zanella <azanella@linux.vnet.ibm.com> | 2014-06-20 12:55:16 -0500 |
---|---|---|
committer | Adhemerval Zanella <azanella@linux.vnet.ibm.com> | 2014-07-07 15:41:21 -0500 |
commit | 17762f662582f72bbbc82b445e9113dbff01f46f (patch) | |
tree | 9bc7266cc93046632dddbb7aa9f2360fd8e81afe /sysdeps/powerpc/powerpc64/multiarch/Makefile | |
parent | d6f68bbef4427850c2901728a1d13efc0e687297 (diff) | |
download | glibc-17762f662582f72bbbc82b445e9113dbff01f46f.tar.gz glibc-17762f662582f72bbbc82b445e9113dbff01f46f.tar.xz 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/Makefile | 3 |
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 |