glibc/sysdeps/x86
Feifei Wang ca90758b2a x86: Enable non-temporal memset for Hygon processors
This patch uses 'Avoid_Non_Temporal_Memset' flag to access
the non-temporal memset implementation for hygon processors.

Test Results:

hygon1 arch
x86_memset_non_temporal_threshold = 8MB
size                          new performance time / old performance time
1MB                           0.994
4MB                           0.996
8MB                           0.670
16MB                          0.343
32MB                          0.355

hygon2 arch
x86_memset_non_temporal_threshold = 8MB
size                          new performance time / old performance time
1MB                           1
4MB                           1
8MB                           1.312
16MB                          0.822
32MB                          0.830

hygon3 arch
x86_memset_non_temporal_threshold = 8MB
size                          new performance time / old performance time
1MB                           1
4MB                           0.990
8MB                           0.737
16MB                          0.390
32MB                          0.401

For hygon arch with this patch, non-temporal stores can improve
performance by 20% - 65%.

Signed-off-by: Feifei Wang <wangfeifei@hygon.cn>
Reviewed-by: Jing Li <lijing@hygon.cn>
Reviewed-by: H.J. Lu <hjl.tools@gmail.com>
2024-08-26 10:01:58 -07:00
..
bits login: structs utmp, utmpx, lastlog _TIME_BITS independence (bug 30701) 2024-04-19 14:38:17 +02:00
fpu math: x86 trunc traps when FE_INEXACT is enabled (BZ 31603) 2024-04-04 14:29:28 -03:00
htl Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
include x86: Add new architecture type for Hygon processors 2024-08-26 10:01:58 -07:00
nptl Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
sys/platform x86-64/cet: Make CET feature check specific to Linux/x86 2024-01-11 20:35:24 -08:00
__longjmp_cancel.S x86-64/cet: Check the restore token in longjmp 2024-01-04 13:38:26 -08:00
abi-note.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
atomic-machine.h Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
cacheinfo.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
cacheinfo.h x86: Add seperate non-temporal tunable for memset 2024-05-30 12:36:09 -05:00
configure Convert to autoconf 2.72 (vanilla release, no distribution patches) 2024-06-17 21:15:28 +02:00
configure.ac x86: Properly set x86 minimum ISA level [BZ #31883] 2024-06-12 14:27:54 -07:00
cpu-features-offsets.sym x86-64: Update _dl_tlsdesc_dynamic to preserve AMX registers 2024-02-29 04:30:01 -08:00
cpu-features.c x86: Enable non-temporal memset for Hygon processors 2024-08-26 10:01:58 -07:00
cpu-tunables.c x86: Add Avoid_STOSB tunable to allow NT memset without ERMS 2024-08-15 08:19:15 -07:00
dl-cacheinfo.h x86: Enable non-temporal memset for Hygon processors 2024-08-26 10:01:58 -07:00
dl-diagnostics-cpu.c x86: Add seperate non-temporal tunable for memset 2024-05-30 12:36:09 -05:00
dl-get-cpu-features.c x86: In ld.so, diagnose missing APX support in APX-only builds 2024-04-25 17:20:28 +02:00
dl-hwcap2.h Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
dl-hwcap.h elf: Remove HWCAP_IMPORTANT 2024-06-18 10:45:36 +02:00
dl-isa-level.h Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
dl-lookupcfg.h Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
dl-minsigstacksize.h Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
dl-new-hash.h Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
dl-procinfo.c elf: Remove _DL_PLATFORMS_COUNT 2024-06-18 10:45:36 +02:00
dl-procinfo.h elf: Remove _DL_PLATFORMS_COUNT 2024-06-18 10:45:36 +02:00
dl-prop.h Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
dl-tunables.list x86: Add seperate non-temporal tunable for memset 2024-05-30 12:36:09 -05:00
elf-initfini.h Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
elide.h Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
features-offsets.sym x86: Update _dl_tlsdesc_dynamic to preserve caller-saved registers 2024-02-28 09:02:56 -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 2024-01-01 10:53:40 -08:00
get-cpuid-feature-leaf.c x86-64/cet: Make CET feature check specific to Linux/x86 2024-01-11 20:35:24 -08:00
get-isa-level.h Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
hp-timing.h Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
init-arch.h Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
isa-ifunc-macros.h Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
isa-level.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
isa-level.h x86: Properly set x86 minimum ISA level [BZ #31883] 2024-06-12 14:27:54 -07: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 2024-01-01 10:53:40 -08:00
ldsodefs.h i386: Remove CET support bits 2024-01-10 05:20:20 -08:00
libc-start.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
link_map.h Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
linkmap.h
longjmp.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
Makeconfig Add _Float64x function aliases. 2017-11-27 14:16:47 +00:00
Makefile x86: Update _dl_tlsdesc_dynamic to preserve caller-saved registers 2024-02-28 09:02:56 -08:00
readelflib.c Remove ia64-linux-gnu 2024-01-08 17:09:36 -03:00
sysdep.h x86-64: Allocate state buffer space for RDI, RSI and RBX 2024-03-18 19:45:13 -07:00
tininess.h
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: Don't check XFD against /proc/cpuinfo 2024-02-28 11:50:38 -08: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 i386: Disable Intel Xeon Phi tests for GCC 15 and above (BZ 31782) 2024-05-27 12:28:13 -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 Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
tst-gnu2-tls2.c x86: Update _dl_tlsdesc_dynamic to preserve caller-saved registers 2024-02-28 09:02:56 -08:00
tst-hwcap-tunables.c x86: Add Avoid_STOSB tunable to allow NT memset without ERMS 2024-08-15 08:19:15 -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 Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -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 Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
tst-ifunc-isa.h Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
tst-isa-level-1.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -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 Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
tst-ldbl-nonnormal-printf.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
tst-memchr-rtm.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
tst-memcmp-rtm.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
tst-memmove-rtm.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
tst-memrchr-rtm.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
tst-memset-rtm.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08: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 Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
tst-strcasecmp-rtm.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
tst-strchr-rtm.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
tst-strcmp-rtm.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
tst-strcpy-rtm.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
tst-string-rtm.h Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
tst-strlen-rtm.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
tst-strncasecmp-rtm.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
tst-strncmp-rtm.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
tst-strrchr-rtm.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08: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 Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
tst-wcscmp-rtm.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
tst-wcsncmp-rtm.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
utmp-size.h login: Check default sizes of structs utmp, utmpx, lastlog 2024-04-19 14:38:17 +02:00
Versions <sys/platform/x86.h>: Remove the C preprocessor magic 2021-01-21 05:58:17 -08:00