From 41bb65cecfc6a34e70cfb74618b5a411fce54e3e Mon Sep 17 00:00:00 2001 From: litenglong Date: Tue, 14 Oct 2025 17:50:40 +0800 Subject: [PATCH] x86 fix avx loads slower for Hygon model 0x3 processors --- glibc.spec | 6 +++- ...s-slower-for-Hygon-model-0x3-process.patch | 33 +++++++++++++++++++ 2 files changed, 38 insertions(+), 1 deletion(-) create mode 100644 x86-fix-avx-loads-slower-for-Hygon-model-0x3-process.patch diff --git a/glibc.spec b/glibc.spec index d359115..7105a71 100644 --- a/glibc.spec +++ b/glibc.spec @@ -67,7 +67,7 @@ ############################################################################## Name: glibc Version: 2.38 -Release: 68 +Release: 69 Summary: The GNU libc libraries License: %{all_license} URL: http://www.gnu.org/software/glibc/ @@ -407,6 +407,7 @@ Patch9039: revert-aarch64-Use-memcpy_simd-as-the-default-memcpy.patch Patch9040: backport-Fix-UB-on__dl_map_object_from_fd.patch Patch9041: backport-Fix-handling-of-symbol-versions-which-hash-to-zero.patch Patch9042: AArch64-modify_the_SVE_memcpy_implementation_for_32-byte_aligned_access.patch +Patch9043: x86-fix-avx-loads-slower-for-Hygon-model-0x3-process.patch Provides: ldconfig rtld(GNU_HASH) bundled(gnulib) @@ -1587,6 +1588,9 @@ fi %endif %changelog +* Tue Oct 14 2025 litenglong - 2.38-69 +- x86: fix avx loads slower in hygon model 0x3 + * Thu Sep 18 2025 Long Wei - 2.38-68 - aarch64: Optimize memcpy_sve by using 32-byte alignment diff --git a/x86-fix-avx-loads-slower-for-Hygon-model-0x3-process.patch b/x86-fix-avx-loads-slower-for-Hygon-model-0x3-process.patch new file mode 100644 index 0000000..1f51703 --- /dev/null +++ b/x86-fix-avx-loads-slower-for-Hygon-model-0x3-process.patch @@ -0,0 +1,33 @@ +From a07e7b41d7139d47f9b8493c4a625cf5b54b59d5 Mon Sep 17 00:00:00 2001 +From: litenglong +Date: Tue, 14 Oct 2025 17:00:32 +0800 +Subject: [PATCH] x86 fix avx loads slower for Hygon model 0x3 processors + +--- + sysdeps/x86/cpu-features.c | 10 ++++++++++ + 1 file changed, 10 insertions(+) + +diff --git a/sysdeps/x86/cpu-features.c b/sysdeps/x86/cpu-features.c +index f5539aea..3d5d8adc 100644 +--- a/sysdeps/x86/cpu-features.c ++++ b/sysdeps/x86/cpu-features.c +@@ -1003,6 +1003,16 @@ https://www.intel.com/content/www/us/en/support/articles/000059422/processors.ht + hardware. */ + cpu_features->preferred[index_arch_Avoid_Non_Temporal_Memset] + &= ~bit_arch_Avoid_Non_Temporal_Memset; ++ if (family == 0x17) ++ { ++ /* Tuning Hygon 3. */ ++ if (model == 0x3) ++ { ++ /* Unaligned AVX loads are slower. */ ++ cpu_features->preferred[index_arch_AVX_Fast_Unaligned_Load] ++ &= ~bit_arch_AVX_Fast_Unaligned_Load; ++ } ++ } + } + else + { +-- +2.25.1 + -- Gitee