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 Use IFUNC memmove/memset in x86-64 bcopy/bzero 2012-10-11 13:58:16 -07:00
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 Add x86-64 __libc_ifunc_impl_list 2012-10-11 16:41:12 -07:00
stpncpy-c.c
stpncpy-sse2-unaligned.S
stpncpy-ssse3.S
stpncpy.S Add x86-64 __libc_ifunc_impl_list 2012-10-11 16:41:12 -07:00
strcasecmp_l-ssse3.S
strcasecmp_l.S Add x86-64 __libc_ifunc_impl_list 2012-10-11 16:41:12 -07:00
strcasestr.c Add strstr with unaligned loads. Fixes bug 12100. 2013-12-14 20:08:13 +01:00
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 Add x86-64 __libc_ifunc_impl_list 2012-10-11 16:41:12 -07:00
strncat-c.c
strncat-sse2-unaligned.S
strncat-ssse3.S
strncat.S Add x86-64 __libc_ifunc_impl_list 2012-10-11 16:41:12 -07:00
strncmp-ssse3.S Don't define x86-64 __strncmp_ssse3 in libc.a 2012-09-27 07:43:03 -07:00
strncmp.S Add x86-64 __libc_ifunc_impl_list 2012-10-11 16:41:12 -07:00
strncpy-c.c
strncpy-sse2-unaligned.S
strncpy-ssse3.S
strncpy.S Add x86-64 __libc_ifunc_impl_list 2012-10-11 16:41:12 -07:00
strpbrk-c.c
strpbrk.S Add x86-64 __libc_ifunc_impl_list 2012-10-11 16:41:12 -07:00
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 Optimized wcschr and wcscpy for x86-64 and x86-32 2011-12-17 14:39:23 -05:00
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 Fix more warnings 2011-12-03 21:49:35 -05:00
wmemcmp-sse4.S Optimized memcmp and wmemcmp for x86-64 and x86-32 2011-10-15 11:10:08 -04:00
wmemcmp-ssse3.S Optimized memcmp and wmemcmp for x86-64 and x86-32 2011-10-15 11:10:08 -04:00
wmemcmp.S Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00