From 054e447d4cd3b8a19bcc0a2a0cc16a9bba027bdb Mon Sep 17 00:00:00 2001 From: Xie jiamei Date: Thu, 13 Nov 2025 16:06:42 +0800 Subject: [PATCH] Set Prefer_No_AVX512 flag for hygon platform Signed-off-by: Xie jiamei (cherry picked from commit f59f587375be350fca5d37080a00c4bd3c36e36c) --- ...er_No_AVX512-flag-for-hygon-platform.patch | 36 +++++++++++++++++++ glibc.spec | 11 ++++-- 2 files changed, 44 insertions(+), 3 deletions(-) create mode 100644 backport-Set-Prefer_No_AVX512-flag-for-hygon-platform.patch diff --git a/backport-Set-Prefer_No_AVX512-flag-for-hygon-platform.patch b/backport-Set-Prefer_No_AVX512-flag-for-hygon-platform.patch new file mode 100644 index 0000000..2eebc7d --- /dev/null +++ b/backport-Set-Prefer_No_AVX512-flag-for-hygon-platform.patch @@ -0,0 +1,36 @@ +From 1707b233822a503f787ae1b4abdd07949c3ee691 Mon Sep 17 00:00:00 2001 +From: Xie jiamei +Date: Tue, 11 Nov 2025 10:28:54 +0800 +Subject: [PATCH] Set Prefer_No_AVX512 flag for hygon platform + +Benchmarks indicate evex can be more profitable on Hygon hardware +than AVX512. So add Prefer_No_AVX512 to make it run with evex. + +Change-Id: Icc59492f71fde7a783a8bd315714ffd6f7ecaf29 +Signed-off-by: Li jing +Signed-off-by: Xie jiamei +--- + sysdeps/x86/cpu-features.c | 7 +++++++ + 1 file changed, 7 insertions(+) + +diff --git a/sysdeps/x86/cpu-features.c b/sysdeps/x86/cpu-features.c +index 5d4437ffdf..ecf10ce44d 100644 +--- a/sysdeps/x86/cpu-features.c ++++ b/sysdeps/x86/cpu-features.c +@@ -1129,6 +1129,13 @@ disable_tsx: + cpu_features->preferred[index_arch_AVX_Fast_Unaligned_Load] + &= ~bit_arch_AVX_Fast_Unaligned_Load; + } ++ else if (model == 0x7) ++ { ++ /* Benchmarks indicate evex can be more profitable on Hygon ++ hardware than AVX512. */ ++ cpu_features->preferred[index_arch_Prefer_No_AVX512] ++ |= bit_arch_Prefer_No_AVX512; ++ } + } + else + { +-- +2.42.0 + diff --git a/glibc.spec b/glibc.spec index 84458e4..44107af 100644 --- a/glibc.spec +++ b/glibc.spec @@ -67,7 +67,7 @@ ############################################################################## Name: glibc Version: 2.38 -Release: 80 +Release: 81 Summary: The GNU libc libraries License: %{all_license} URL: http://www.gnu.org/software/glibc/ @@ -368,6 +368,8 @@ Patch278: x86-64-Don-t-use-SSE-resolvers-for-ISA-level-3-or-ab.patch Patch279: x86-64-Simplify-minimum-ISA-check-ifdef-conditional-.patch Patch280: x86-Skip-XSAVE-state-size-reset-if-ISA-level-require.patch Patch281: x86-fix-wmemset-ifunc-stray-bug-33542.patch +Patch282: backport-x86-Disable-AVX-Fast-Unaligned-Load-on-Hygon-1-2-3.patch +Patch283: backport-Set-Prefer_No_AVX512-flag-for-hygon-platform.patch #openEuler patch list Patch9000: locale-delete-no-hard-link-to-avoid-all_language-pac.patch @@ -414,8 +416,7 @@ Patch9037: revert-aarch64-Use-memcpy_simd-as-the-default-memcpy.patch Patch9038: backport-Fix-UB-on__dl_map_object_from_fd.patch Patch9039: backport-Fix-handling-of-symbol-versions-which-hash-to-zero.patch Patch9040: 0024-Sw64-Change-libdir-from-lib-to-lib64.patch -Patch9041: backport-x86-Disable-AVX-Fast-Unaligned-Load-on-Hygon-1-2-3.patch -Patch9042: AArch64-modify_the_SVE_memcpy_implementation_for_32-byte_aligned_access.patch +Patch9041: AArch64-modify_the_SVE_memcpy_implementation_for_32-byte_aligned_access.patch Provides: ldconfig rtld(GNU_HASH) bundled(gnulib) @@ -1602,6 +1603,10 @@ fi %endif %changelog +* Thu Nov 13 2025 Jiamei Xie - 2.38-81 +- Backport patch from master branch +- Set Prefer_No_AVX512 flag for hygon platform + * Wed Nov 12 2025 Long Wei - 2.38-80 - aarch64: Optimize memcpy_sve by using 32-byte alignment -- Gitee