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
fpu
htl
include x86: Add new architecture type for Hygon processors 2024-08-26 10:01:58 -07:00
nptl
sys/platform
__longjmp_cancel.S
abi-note.c
atomic-machine.h
cacheinfo.c
cacheinfo.h
configure
configure.ac
cpu-features-offsets.sym
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
dl-get-cpu-features.c
dl-hwcap2.h
dl-hwcap.h
dl-isa-level.h
dl-lookupcfg.h
dl-minsigstacksize.h
dl-new-hash.h
dl-procinfo.c
dl-procinfo.h
dl-prop.h
dl-tunables.list
elf-initfini.h
elide.h
features-offsets.sym
float128-abi.h
fpu_control.h
get-cpuid-feature-leaf.c
get-isa-level.h
hp-timing.h
init-arch.h
isa-ifunc-macros.h
isa-level.c
isa-level.h
jmp_buf-ssp.sym
ldbl2mpn.c
ldsodefs.h
libc-start.c
link_map.h
linkmap.h
longjmp.c
Makeconfig
Makefile
readelflib.c
sysdep.h
tininess.h
tst-cpu-features-cpuinfo-static.c
tst-cpu-features-cpuinfo.c
tst-cpu-features-supports-static.c
tst-cpu-features-supports.c
tst-get-cpu-features-static.c
tst-get-cpu-features.c
tst-gnu2-tls2.c
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
tst-ifunc-isa-1.c
tst-ifunc-isa-2-static.c
tst-ifunc-isa-2.c
tst-ifunc-isa.h
tst-isa-level-1.c
tst-isa-level-mod-1-baseline.c
tst-isa-level-mod-1-v2.c
tst-isa-level-mod-1-v3.c
tst-isa-level-mod-1-v4.c
tst-isa-level-mod-1.c
tst-ldbl-nonnormal-printf.c
tst-memchr-rtm.c
tst-memcmp-rtm.c
tst-memmove-rtm.c
tst-memrchr-rtm.c
tst-memset-rtm.c
tst-setjmp-cet.c
tst-stack-align.h
tst-strcasecmp-rtm.c
tst-strchr-rtm.c
tst-strcmp-rtm.c
tst-strcpy-rtm.c
tst-string-rtm.h
tst-strlen-rtm.c
tst-strncasecmp-rtm.c
tst-strncmp-rtm.c
tst-strrchr-rtm.c
tst-sysconf-cache-linesize-static.c
tst-sysconf-cache-linesize.c
tst-wcscmp-rtm.c
tst-wcsncmp-rtm.c
utmp-size.h
Versions