glibc/sysdeps/x86_64/multiarch
H.J. Lu 3ec5d83d2a x86-64: Avoid rep movsb with short distance [BZ #27130]
When copying with "rep movsb", if the distance between source and
destination is N*4GB + [1..63] with N >= 0, performance may be very
slow.  This patch updates memmove-vec-unaligned-erms.S for AVX and
AVX512 versions with the distance in RCX:

	cmpl	$63, %ecx
	// Don't use "rep movsb" if ECX <= 63
	jbe	L(Don't use rep movsb")
	Use "rep movsb"

Benchtests data with bench-memcpy, bench-memcpy-large, bench-memcpy-random
and bench-memcpy-walk on Skylake, Ice Lake and Tiger Lake show that its
performance impact is within noise range as "rep movsb" is only used for
data size >= 4KB.
2021-01-04 07:58:57 -08:00
..
bcopy.S
ifunc-avx2.h Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
ifunc-impl-list.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
ifunc-memcmp.h Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
ifunc-memmove.h Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
ifunc-memset.h Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
ifunc-sse4_2.h Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
ifunc-strcasecmp.h Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
ifunc-strcpy.h Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
ifunc-wmemset.h Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
Makefile
memchr-avx2.S Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
memchr-sse2.S Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
memchr.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
memcmp-avx2-movbe.S Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
memcmp-sse2.S Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
memcmp-sse4.S Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
memcmp-ssse3.S Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
memcmp.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
memcpy_chk-nonshared.S Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
memcpy_chk.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
memcpy-ssse3-back.S Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
memcpy-ssse3.S Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
memcpy.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
memmove_chk-nonshared.S Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
memmove_chk.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
memmove-avx512-no-vzeroupper.S Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
memmove-avx512-unaligned-erms.S
memmove-avx-unaligned-erms.S
memmove-sse2-unaligned-erms.S Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
memmove-ssse3-back.S
memmove-ssse3.S
memmove-vec-unaligned-erms.S x86-64: Avoid rep movsb with short distance [BZ #27130] 2021-01-04 07:58:57 -08:00
memmove.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
mempcpy_chk-nonshared.S Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
mempcpy_chk.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
mempcpy.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
memrchr-avx2.S Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
memrchr-sse2.S Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
memrchr.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
memset_chk-nonshared.S Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
memset_chk.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
memset-avx2-unaligned-erms.S
memset-avx512-no-vzeroupper.S Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
memset-avx512-unaligned-erms.S
memset-sse2-unaligned-erms.S Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
memset-vec-unaligned-erms.S Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
memset.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
rawmemchr-avx2.S
rawmemchr-sse2.S Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
rawmemchr.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
sched_cpucount.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
stpcpy-avx2.S
stpcpy-sse2-unaligned.S
stpcpy-sse2.S Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
stpcpy-ssse3.S
stpcpy.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
stpncpy-avx2.S
stpncpy-c.c
stpncpy-sse2-unaligned.S
stpncpy-ssse3.S
stpncpy.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
strcasecmp_l-avx.S Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
strcasecmp_l-sse2.S Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
strcasecmp_l-sse4_2.S Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
strcasecmp_l-ssse3.S
strcasecmp_l.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
strcasecmp.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
strcat-avx2.S Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
strcat-sse2-unaligned.S Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
strcat-sse2.S Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
strcat-ssse3.S Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
strcat.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
strchr-avx2.S Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
strchr-sse2-no-bsf.S Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
strchr-sse2.S Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
strchr.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
strchrnul-avx2.S
strchrnul-sse2.S Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
strchrnul.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
strcmp-avx2.S Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
strcmp-sse2-unaligned.S Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
strcmp-sse2.S Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
strcmp-sse4_2.S Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
strcmp-sse42.S Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
strcmp-ssse3.S
strcmp.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
strcpy-avx2.S Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
strcpy-sse2-unaligned.S Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
strcpy-sse2.S Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
strcpy-ssse3.S Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
strcpy.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
strcspn-c.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
strcspn-sse2.S Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
strcspn.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
strlen-avx2.S Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
strlen-sse2.S Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
strlen.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
strncase_l-avx.S Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
strncase_l-sse2.S Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
strncase_l-sse4_2.S Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
strncase_l-ssse3.S
strncase_l.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
strncase.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
strncat-avx2.S
strncat-c.c
strncat-sse2-unaligned.S
strncat-ssse3.S
strncat.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
strncmp-avx2.S
strncmp-sse2.S Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
strncmp-sse4_2.S Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
strncmp-ssse3.S Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
strncmp.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
strncpy-avx2.S
strncpy-c.c
strncpy-sse2-unaligned.S
strncpy-ssse3.S
strncpy.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
strnlen-avx2.S
strnlen-sse2.S Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
strnlen.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
strpbrk-c.c
strpbrk-sse2.S Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
strpbrk.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
strrchr-avx2.S Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
strrchr-sse2.S Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
strrchr.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
strspn-c.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
strspn-sse2.S Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
strspn.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
strstr-sse2-unaligned.S Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
strstr.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
varshift.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
varshift.h Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
wcschr-avx2.S
wcschr-sse2.S Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
wcschr.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
wcscmp-avx2.S
wcscmp-sse2.S Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
wcscmp.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
wcscpy-c.c
wcscpy-ssse3.S Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
wcscpy.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
wcslen-avx2.S
wcslen-sse2.S Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
wcslen.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
wcsncmp-avx2.S
wcsncmp-sse2.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
wcsncmp.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
wcsnlen-avx2.S
wcsnlen-c.c
wcsnlen-sse4_1.S
wcsnlen.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
wcsrchr-avx2.S
wcsrchr-sse2.S Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
wcsrchr.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
wmemchr-avx2.S
wmemchr-sse2.S
wmemchr.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
wmemcmp-avx2-movbe.S
wmemcmp-c.c
wmemcmp-sse4.S
wmemcmp-ssse3.S
wmemcmp.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
wmemset_chk-nonshared.S Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
wmemset_chk.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
wmemset.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00