glibc/sysdeps/x86
H.J. Lu 91cc803d27 x86-64: Add Avoid_Short_Distance_REP_MOVSB
commit 3ec5d83d2a
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Sat Jan 25 14:19:40 2020 -0800

    x86-64: Avoid rep movsb with short distance [BZ #27130]

introduced some regressions on Intel processors without Fast Short REP
MOV (FSRM).  Add Avoid_Short_Distance_REP_MOVSB to avoid rep movsb with
short distance only on Intel processors with FSRM.  bench-memmove-large
on Skylake server shows that cycles of __memmove_evex_unaligned_erms
improves for the following data size:

                                  before    after    Improvement
length=4127, align1=3, align2=0:  479.38    349.25      27%
length=4223, align1=9, align2=5:  405.62    333.25      18%
length=8223, align1=3, align2=0:  786.12    496.38      37%
length=8319, align1=9, align2=5:  727.50    501.38      31%
length=16415, align1=3, align2=0: 1436.88   840.00      41%
length=16511, align1=9, align2=5: 1375.50   836.38      39%
length=32799, align1=3, align2=0: 2890.00   1860.12     36%
length=32895, align1=9, align2=5: 2891.38   1931.88     33%
2021-07-28 13:23:57 -07:00
..
bits x86: Install <bits/platform/x86.h> [BZ #27958] 2021-07-23 05:12:51 -07:00
fpu Drop nan-pseudo-number.h usage from tests 2021-01-04 20:49:56 +05:30
include x86-64: Add Avoid_Short_Distance_REP_MOVSB 2021-07-28 13:23:57 -07:00
nptl nptl: Remove longjmp, siglongjmp from libpthread 2021-04-21 19:49:50 +02:00
sys/platform x86: Install <bits/platform/x86.h> [BZ #27958] 2021-07-23 05:12:51 -07:00
__longjmp_cancel.S Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
abi-note.c x86: Support GNU_PROPERTY_X86_ISA_1_V[234] marker [BZ #26717] 2021-01-07 13:10:13 -08:00
atomic-machine.h Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
cacheinfo.c x86: Handle _SC_LEVEL1_ICACHE_LINESIZE [BZ #27444] 2021-03-15 05:43:26 -07:00
cacheinfo.h x86-64: Add Avoid_Short_Distance_REP_MOVSB 2021-07-28 13:23:57 -07:00
cet-control.h Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
check-cet.awk Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
configure x86: Set minimum x86-64 level marker [BZ #27318] 2021-03-06 07:49:30 -08:00
configure.ac x86: Set minimum x86-64 level marker [BZ #27318] 2021-03-06 07:49:30 -08:00
cpu-features-offsets.sym x86: Cleanup cpu-features-offsets.sym 2018-08-03 06:42:09 -07:00
cpu-features.c x86-64: Add Avoid_Short_Distance_REP_MOVSB 2021-07-28 13:23:57 -07:00
cpu-tunables.c x86: Set Prefer_No_VZEROUPPER and add Prefer_AVX2_STRCMP 2021-03-29 07:40:17 -07:00
dl-cacheinfo.h x86: Set rep_movsb_threshold to 2112 on processors with FSRM 2021-05-03 05:08:22 -07:00
dl-cet.c x86: Properly set usable CET feature bits [BZ #26625] 2021-01-29 03:58:11 -08:00
dl-diagnostics-cpu.c x86: Install <bits/platform/x86.h> [BZ #27958] 2021-07-23 05:12:51 -07:00
dl-get-cpu-features.c Fix misplaced const 2021-01-25 15:09:02 +01:00
dl-hwcap.h Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
dl-isa-level.h ldconfig/x86: Store ISA level in cache and aux cache 2021-01-13 05:51:17 -08:00
dl-lookupcfg.h Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
dl-minsigstacksize.h sysconf: Add _SC_MINSIGSTKSZ/_SC_SIGSTKSZ [BZ #20305] 2021-02-01 11:00:52 -08:00
dl-procinfo.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
dl-procinfo.h Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
dl-procruntime.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
dl-prop.h x86: Support GNU_PROPERTY_X86_ISA_1_V[234] marker [BZ #26717] 2021-01-07 13:10:13 -08:00
dl-tunables.list Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
elf-initfini.h Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
elide.h Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
float128-abi.h Move __isnanf128 to libc.so 2021-03-30 14:58:19 +05:30
fpu_control.h Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
get-cpuid-feature-leaf.c <sys/platform/x86.h>: Remove the C preprocessor magic 2021-01-21 05:58:17 -08:00
get-isa-level.h <sys/platform/x86.h>: Remove the C preprocessor magic 2021-01-21 05:58:17 -08:00
hp-timing.h Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
init-arch.h Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
isa-level.c x86: Set minimum x86-64 level marker [BZ #27318] 2021-03-06 07:49:30 -08:00
jmp_buf-ssp.sym x86: Support shadow stack pointer in setjmp/longjmp 2018-07-14 05:59:53 -07:00
ldbl2mpn.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
ldsodefs.h Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
libc-start.c Use hidden visibility for early static PIE code 2021-01-21 15:55:01 +00:00
libc-start.h Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
link_map.h x86: Support GNU_PROPERTY_X86_ISA_1_V[234] marker [BZ #26717] 2021-01-07 13:10:13 -08:00
linkmap.h Rename bits/linkmap.h to linkmap.h (bug 14912). 2015-09-04 19:44:27 +00:00
longjmp.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
Makeconfig Add _Float64x function aliases. 2017-11-27 14:16:47 +00:00
Makefile x86: Install <bits/platform/x86.h> [BZ #27958] 2021-07-23 05:12:51 -07:00
string_private.h Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
sysdep.h x86-64: Add Avoid_Short_Distance_REP_MOVSB 2021-07-28 13:23:57 -07:00
tininess.h Use sysdeps/x86/tininess.h for i386 and x86_64 2012-10-30 20:38:31 -07:00
tst-cet-legacy-1.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
tst-cet-legacy-1a.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
tst-cet-legacy-2.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
tst-cet-legacy-2a.c x86/CET: Add tests with legacy non-CET shared objects 2018-07-25 04:47:05 -07:00
tst-cet-legacy-3.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
tst-cet-legacy-4.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
tst-cet-legacy-4a.c x86/CET: Add tests with legacy non-CET shared objects 2018-07-25 04:47:05 -07:00
tst-cet-legacy-4b.c x86/CET: Add tests with legacy non-CET shared objects 2018-07-25 04:47:05 -07:00
tst-cet-legacy-4c.c x86/CET: Add tests with legacy non-CET shared objects 2018-07-25 04:47:05 -07:00
tst-cet-legacy-5.c x86: Properly set usable CET feature bits [BZ #26625] 2021-01-29 03:58:11 -08:00
tst-cet-legacy-5a.c Call _dl_open_check after relocation [BZ #24259] 2019-07-01 12:23:22 -07:00
tst-cet-legacy-5b.c Call _dl_open_check after relocation [BZ #24259] 2019-07-01 12:23:22 -07:00
tst-cet-legacy-6.c x86: Properly set usable CET feature bits [BZ #26625] 2021-01-29 03:58:11 -08:00
tst-cet-legacy-6a.c Call _dl_open_check after relocation [BZ #24259] 2019-07-01 12:23:22 -07:00
tst-cet-legacy-6b.c Call _dl_open_check after relocation [BZ #24259] 2019-07-01 12:23:22 -07:00
tst-cet-legacy-7.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
tst-cet-legacy-8.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
tst-cet-legacy-9-static.c x86: Properly set usable CET feature bits [BZ #26625] 2021-01-29 03:58:11 -08:00
tst-cet-legacy-9.c x86: Properly set usable CET feature bits [BZ #26625] 2021-01-29 03:58:11 -08:00
tst-cet-legacy-10-static.c x86: Properly set usable CET feature bits [BZ #26625] 2021-01-29 03:58:11 -08:00
tst-cet-legacy-10.c x86: Install <bits/platform/x86.h> [BZ #27958] 2021-07-23 05:12:51 -07:00
tst-cet-legacy-mod-1.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
tst-cet-legacy-mod-2.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
tst-cet-legacy-mod-4.c x86/CET: Add tests with legacy non-CET shared objects 2018-07-25 04:47:05 -07:00
tst-cet-legacy-mod-5.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
tst-cet-legacy-mod-5a.c Call _dl_open_check after relocation [BZ #24259] 2019-07-01 12:23:22 -07:00
tst-cet-legacy-mod-5b.c Call _dl_open_check after relocation [BZ #24259] 2019-07-01 12:23:22 -07:00
tst-cet-legacy-mod-5c.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
tst-cet-legacy-mod-6.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
tst-cet-legacy-mod-6a.c Call _dl_open_check after relocation [BZ #24259] 2019-07-01 12:23:22 -07:00
tst-cet-legacy-mod-6b.c Call _dl_open_check after relocation [BZ #24259] 2019-07-01 12:23:22 -07:00
tst-cet-legacy-mod-6c.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
tst-cet-legacy-mod-6d.c Call _dl_open_check after relocation [BZ #24259] 2019-07-01 12:23:22 -07:00
tst-cpu-features-cpuinfo-static.c x86: Add PTWRITE feature detection [BZ #27346] 2021-02-07 08:01:14 -08:00
tst-cpu-features-cpuinfo.c x86: Install <bits/platform/x86.h> [BZ #27958] 2021-07-23 05:12:51 -07:00
tst-cpu-features-supports-static.c x86: Add PTWRITE feature detection [BZ #27346] 2021-02-07 08:01:14 -08:00
tst-cpu-features-supports.c x86: Install <bits/platform/x86.h> [BZ #27958] 2021-07-23 05:12:51 -07:00
tst-get-cpu-features-static.c Add _dl_x86_cpu_features to rtld_global 2015-08-13 03:41:22 -07:00
tst-get-cpu-features.c x86: Install <bits/platform/x86.h> [BZ #27958] 2021-07-23 05:12:51 -07:00
tst-ifunc-isa-1-static.c x86: Check ifunc resolver with CPU_FEATURE_USABLE [BZ #27072] 2021-01-21 10:22:26 -08:00
tst-ifunc-isa-1.c x86: Check ifunc resolver with CPU_FEATURE_USABLE [BZ #27072] 2021-01-21 10:22:26 -08:00
tst-ifunc-isa-2-static.c x86: Check ifunc resolver with CPU_FEATURE_USABLE [BZ #27072] 2021-01-21 10:22:26 -08:00
tst-ifunc-isa-2.c x86: Check ifunc resolver with CPU_FEATURE_USABLE [BZ #27072] 2021-01-21 10:22:26 -08:00
tst-ifunc-isa.h x86: Install <bits/platform/x86.h> [BZ #27958] 2021-07-23 05:12:51 -07:00
tst-isa-level-1.c <sys/platform/x86.h>: Remove the C preprocessor magic 2021-01-21 05:58:17 -08:00
tst-isa-level-mod-1-baseline.c x86: Support GNU_PROPERTY_X86_ISA_1_V[234] marker [BZ #26717] 2021-01-07 13:10:13 -08:00
tst-isa-level-mod-1-v2.c x86: Support GNU_PROPERTY_X86_ISA_1_V[234] marker [BZ #26717] 2021-01-07 13:10:13 -08:00
tst-isa-level-mod-1-v3.c x86: Support GNU_PROPERTY_X86_ISA_1_V[234] marker [BZ #26717] 2021-01-07 13:10:13 -08:00
tst-isa-level-mod-1-v4.c x86: Support GNU_PROPERTY_X86_ISA_1_V[234] marker [BZ #26717] 2021-01-07 13:10:13 -08:00
tst-isa-level-mod-1.c x86: Support GNU_PROPERTY_X86_ISA_1_V[234] marker [BZ #26717] 2021-01-07 13:10:13 -08:00
tst-ldbl-nonnormal-printf.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
tst-memchr-rtm.c x86: Add string/memory function tests in RTM region 2021-03-29 07:40:17 -07:00
tst-memcmp-rtm.c x86: Add string/memory function tests in RTM region 2021-03-29 07:40:17 -07:00
tst-memmove-rtm.c x86: Add string/memory function tests in RTM region 2021-03-29 07:40:17 -07:00
tst-memrchr-rtm.c x86: Add string/memory function tests in RTM region 2021-03-29 07:40:17 -07:00
tst-memset-rtm.c x86: Add string/memory function tests in RTM region 2021-03-29 07:40:17 -07:00
tst-setjmp-cet.c x86: Set header.feature_1 in TCB for always-on CET [BZ #27177] 2021-01-13 05:03:34 -08:00
tst-stack-align.h Properly check stack alignment [BZ #27901] 2021-05-24 07:42:12 -07:00
tst-strchr-rtm.c x86: Add string/memory function tests in RTM region 2021-03-29 07:40:17 -07:00
tst-strcpy-rtm.c x86: Add string/memory function tests in RTM region 2021-03-29 07:40:17 -07:00
tst-string-rtm.h x86: Install <bits/platform/x86.h> [BZ #27958] 2021-07-23 05:12:51 -07:00
tst-strlen-rtm.c x86: Add string/memory function tests in RTM region 2021-03-29 07:40:17 -07:00
tst-strncmp-rtm.c x86: Add string/memory function tests in RTM region 2021-03-29 07:40:17 -07:00
tst-strrchr-rtm.c x86: Add string/memory function tests in RTM region 2021-03-29 07:40:17 -07:00
tst-sysconf-cache-linesize-static.c x86: Handle _SC_LEVEL1_ICACHE_LINESIZE [BZ #27444] 2021-03-15 05:43:26 -07:00
tst-sysconf-cache-linesize.c x86: Handle _SC_LEVEL1_ICACHE_LINESIZE [BZ #27444] 2021-03-15 05:43:26 -07:00
Versions <sys/platform/x86.h>: Remove the C preprocessor magic 2021-01-21 05:58:17 -08:00