glibc/sysdeps/x86_64/multiarch
Ling Ma 05f3633da4 Improve 64bit memcpy performance for Haswell CPU with AVX instruction
In this patch we take advantage of HSW memory bandwidth, manage to
reduce miss branch prediction by avoiding using branch instructions and
force destination to be aligned with avx instruction.

The CPU2006 403.gcc benchmark indicates this patch improves performance
from 2% to 10%.
2014-07-30 08:02:35 -07:00
..
Makefile Improve 64bit memcpy performance for Haswell CPU with AVX instruction 2014-07-30 08:02:35 -07:00
Versions
bcopy.S
cacheinfo.c
ifunc-defines.sym Detect if AVX2 is usable 2014-04-17 08:00:21 -07:00
ifunc-impl-list.c Improve 64bit memcpy performance for Haswell CPU with AVX instruction 2014-07-30 08:02:35 -07:00
init-arch.c Detect if AVX2 is usable 2014-04-17 08:00:21 -07:00
init-arch.h Add ifunc tests for x86_64 memset_chk and memset 2014-06-20 14:52:29 -07:00
memcmp-sse4.S Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
memcmp-ssse3.S Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
memcmp.S Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
memcpy-avx-unaligned.S Improve 64bit memcpy performance for Haswell CPU with AVX instruction 2014-07-30 08:02:35 -07:00
memcpy-sse2-unaligned.S Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
memcpy-ssse3-back.S Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
memcpy-ssse3.S Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
memcpy.S Improve 64bit memcpy performance for Haswell CPU with AVX instruction 2014-07-30 08:02:35 -07:00
memcpy_chk.S Improve 64bit memcpy performance for Haswell CPU with AVX instruction 2014-07-30 08:02:35 -07:00
memmove-avx-unaligned.S Improve 64bit memcpy performance for Haswell CPU with AVX instruction 2014-07-30 08:02:35 -07:00
memmove-ssse3-back.S
memmove-ssse3.S
memmove.c Improve 64bit memcpy performance for Haswell CPU with AVX instruction 2014-07-30 08:02:35 -07:00
memmove_chk.c Improve 64bit memcpy performance for Haswell CPU with AVX instruction 2014-07-30 08:02:35 -07:00
mempcpy-avx-unaligned.S Improve 64bit memcpy performance for Haswell CPU with AVX instruction 2014-07-30 08:02:35 -07:00
mempcpy-ssse3-back.S
mempcpy-ssse3.S
mempcpy.S Improve 64bit memcpy performance for Haswell CPU with AVX instruction 2014-07-30 08:02:35 -07:00
mempcpy_chk.S Improve 64bit memcpy performance for Haswell CPU with AVX instruction 2014-07-30 08:02:35 -07:00
memset-avx2.S Add x86_64 memset optimized for AVX2 2014-06-19 15:14:08 -07:00
memset.S Enable AVX2 optimized memset only if -mavx2 works 2014-07-14 07:58:27 -07:00
memset_chk.S Enable AVX2 optimized memset only if -mavx2 works 2014-07-14 07:58:27 -07:00
rtld-memcmp.c
rtld-memset.S Add x86_64 memset optimized for AVX2 2014-06-19 15:14:08 -07:00
sched_cpucount.c Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
stpcpy-sse2-unaligned.S
stpcpy-ssse3.S
stpcpy.S
stpncpy-c.c
stpncpy-sse2-unaligned.S
stpncpy-ssse3.S
stpncpy.S
strcasecmp_l-ssse3.S
strcasecmp_l.S
strcasestr.c
strcat-sse2-unaligned.S Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
strcat-ssse3.S Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
strcat.S Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
strchr-sse2-no-bsf.S Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
strchr.S Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
strcmp-sse2-unaligned.S Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
strcmp-sse42.S Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
strcmp-ssse3.S
strcmp.S Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
strcpy-sse2-unaligned.S Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
strcpy-ssse3.S Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
strcpy.S Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
strcspn-c.c Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
strcspn.S Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
strncase_l-ssse3.S
strncase_l.S
strncat-c.c
strncat-sse2-unaligned.S
strncat-ssse3.S
strncat.S
strncmp-ssse3.S
strncmp.S
strncpy-c.c
strncpy-sse2-unaligned.S
strncpy-ssse3.S
strncpy.S
strpbrk-c.c
strpbrk.S
strspn-c.c Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
strspn.S Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
strstr-sse2-unaligned.S Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
strstr.c Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
test-multiarch.c Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
varshift.c Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
varshift.h Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
wcscpy-c.c
wcscpy-ssse3.S Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
wcscpy.S Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
wmemcmp-c.c
wmemcmp-sse4.S
wmemcmp-ssse3.S
wmemcmp.S Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00