glibc/sysdeps/powerpc/powerpc64/multiarch
Adhemerval Zanella 71ae86478e PowerPC: memset optimization for POWER8/PPC64
This patch adds an optimized memset implementation for POWER8.  For
sizes from 0 to 255 bytes, a word/doubleword algorithm similar to
POWER7 optimized one is used.

For size higher than 255 two strategies are used:

1. If the constant is different than 0, the memory is written with
   altivec vector instruction;

2. If constant is 0, dbcz instructions are used.  The loop is unrolled
   to clear 512 byte at time.

Using vector instructions increases throughput considerable, with a
double performance for sizes larger than 1024.  The dcbz loops unrolls
also shows performance improvement, by doubling throughput for sizes
larger than 8192 bytes.
2014-09-10 07:39:46 -04:00
..
Makefile PowerPC: memset optimization for POWER8/PPC64 2014-09-10 07:39:46 -04:00
bcopy-ppc64.c PowerPC: optimized memmove for POWER7/PPC64 2014-07-07 15:41:21 -05:00
bcopy.c PowerPC: optimized memmove for POWER7/PPC64 2014-07-07 15:41:21 -05:00
bzero.c PowerPC: memset optimization for POWER8/PPC64 2014-09-10 07:39:46 -04:00
ifunc-impl-list.c PowerPC: memset optimization for POWER8/PPC64 2014-09-10 07:39:46 -04:00
init-arch.h
memchr-power7.S
memchr-ppc64.c
memchr.c
memcmp-power4.S
memcmp-power7.S
memcmp-ppc64.c
memcmp.c
memcpy-a2.S
memcpy-cell.S
memcpy-power4.S
memcpy-power6.S
memcpy-power7.S
memcpy-ppc64.S PowerPC: ifunc improvement for internal calls 2014-05-05 13:30:16 -05:00
memcpy.c PowerPC: ifunc improvement for internal calls 2014-05-05 13:30:16 -05:00
memmove-power7.S PowerPC: optimized memmove for POWER7/PPC64 2014-07-07 15:41:21 -05:00
memmove-ppc64.c PowerPC: Cleanup powerpc memmove 2014-07-08 09:16:15 -05:00
memmove.c PowerPC: optimized memmove for POWER7/PPC64 2014-07-07 15:41:21 -05:00
mempcpy-power7.S
mempcpy-ppc64.c
mempcpy.c
memrchr-power7.S
memrchr-ppc64.c
memrchr.c
memset-power4.S PowerPC: multiarch bzero cleanup for PPC64 2014-09-10 07:39:46 -04:00
memset-power6.S PowerPC: multiarch bzero cleanup for PPC64 2014-09-10 07:39:46 -04:00
memset-power7.S PowerPC: multiarch bzero cleanup for PPC64 2014-09-10 07:39:46 -04:00
memset-power8.S PowerPC: memset optimization for POWER8/PPC64 2014-09-10 07:39:46 -04:00
memset-ppc64.S PowerPC: ifunc improvement for internal calls 2014-05-05 13:30:16 -05:00
memset.c PowerPC: memset optimization for POWER8/PPC64 2014-09-10 07:39:46 -04:00
rawmemchr-power7.S
rawmemchr-ppc64.c
rawmemchr.c
rtld-memset.c
rtld-strchr.S
stpcpy-power7.S
stpcpy-ppc64.S
stpcpy.c
stpncpy-power7.S PowerPC: strncpy/stpncpy optimization for PPC64/POWER7 2014-05-06 09:54:25 -05:00
stpncpy-ppc64.c PowerPC: strncpy/stpncpy optimization for PPC64/POWER7 2014-05-06 09:54:25 -05:00
stpncpy.c PowerPC: strncpy/stpncpy optimization for PPC64/POWER7 2014-05-06 09:54:25 -05:00
strcasecmp-power7.S
strcasecmp.c
strcasecmp_l-power7.S
strcasecmp_l.c
strcat-power7.c PowerPC: Fix compiler warnings 2014-07-08 09:16:12 -05:00
strcat-ppc64.c PowerPC: strcat optimization for PPC64/POWER7 2014-07-02 14:04:21 -05:00
strcat.c PowerPC: strcat optimization for PPC64/POWER7 2014-07-02 14:04:21 -05:00
strchr-power7.S
strchr-ppc64.S
strchr.c
strchrnul-power7.S
strchrnul-ppc64.c
strchrnul.c
strcmp-power7.S PowerPC: Optimized strcmp for PPC64/POWER7 2014-06-11 08:39:31 -05:00
strcmp-ppc64.S PowerPC: Optimized strcmp for PPC64/POWER7 2014-06-11 08:39:31 -05:00
strcmp.c PowerPC: Optimized strcmp for PPC64/POWER7 2014-06-11 08:39:31 -05:00
strcpy-power7.S
strcpy-ppc64.S
strcpy.c
strcspn-power7.S PowerPC: optimized strcspn for PPC64/POWER7 2014-03-20 11:24:52 -05:00
strcspn-ppc64.c PowerPC: optimized strcspn for PPC64/POWER7 2014-03-20 11:24:52 -05:00
strcspn.c PowerPC: optimized strcspn for PPC64/POWER7 2014-03-20 11:24:52 -05:00
strlen-power7.S
strlen-ppc64.S PowerPC: ifunc improvement for internal calls 2014-05-05 13:30:16 -05:00
strlen.c PowerPC: ifunc improvement for internal calls 2014-05-05 13:30:16 -05:00
strncase-power7.c
strncase.c
strncase_l-power7.c
strncase_l.c
strncat-power7.S PowerPC: strncat optimization for PPC64 2014-03-10 07:25:09 -05:00
strncat-ppc64.c PowerPC: strncat optimization for PPC64 2014-03-10 07:25:09 -05:00
strncat.c PowerPC: strncat optimization for PPC64 2014-03-10 07:25:09 -05:00
strncmp-power4.S
strncmp-power7.S
strncmp-ppc64.S
strncmp.c
strncpy-power7.S PowerPC: strncpy/stpncpy optimization for PPC64/POWER7 2014-05-06 09:54:25 -05:00
strncpy-ppc64.c PowerPC: strncpy/stpncpy optimization for PPC64/POWER7 2014-05-06 09:54:25 -05:00
strncpy.c PowerPC: strncpy/stpncpy optimization for PPC64/POWER7 2014-05-06 09:54:25 -05:00
strnlen-power7.S
strnlen-ppc64.c
strnlen.c
strpbrk-power7.S PowerPC: optimized strpbrk for POWER7 2014-03-20 19:46:13 -05:00
strpbrk-ppc64.c PowerPC: optimized strpbrk for POWER7 2014-03-20 19:46:13 -05:00
strpbrk.c PowerPC: optimized strpbrk for POWER7 2014-03-20 19:46:13 -05:00
strrchr-power7.S PowerPC: strrchr optimization for POWER7/PPC64 2014-03-03 08:06:41 -06:00
strrchr-ppc64.c PowerPC: strrchr optimization for POWER7/PPC64 2014-03-03 08:06:41 -06:00
strrchr.c PowerPC: strrchr optimization for POWER7/PPC64 2014-03-03 08:06:41 -06:00
strspn-power7.S PowerPC: strspn optimization for PPC64/POWER7 2014-03-11 08:54:33 -05:00
strspn-ppc64.c PowerPC: strspn optimization for PPC64/POWER7 2014-03-11 08:54:33 -05:00
strspn.c PowerPC: Fix strspn for static build 2014-03-12 06:54:44 -05:00
wcschr-power6.c
wcschr-power7.c
wcschr-ppc64.c
wcschr.c
wcscpy-power6.c
wcscpy-power7.c
wcscpy-ppc64.c
wcscpy.c
wcsrchr-power6.c
wcsrchr-power7.c
wcsrchr-ppc64.c
wcsrchr.c
wordcopy-power6.c
wordcopy-power7.c
wordcopy-ppc64.c
wordcopy.c