]> sourceware.org Git - glibc.git/commit
x86: Enable non-temporal memset for Hygon processors
authorFeifei Wang <wangfeifei@hygon.cn>
Mon, 19 Aug 2024 06:57:55 +0000 (14:57 +0800)
committerH.J. Lu <hjl.tools@gmail.com>
Mon, 26 Aug 2024 17:01:58 +0000 (10:01 -0700)
commitca90758b2a2b1c21fcf1f04b3e5ddad238b3aefe
treef3ab4608b2b8c39faab2b4055018d5eeb1d84735
parentd14aecbffc032c97d86fdbfdcb7991d1a55e8399
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>
sysdeps/x86/cpu-features.c
sysdeps/x86/dl-cacheinfo.h
This page took 0.043908 seconds and 5 git commands to generate.