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 0000000000000000000000000000000000000000..2eebc7d4a5e9f546ad1bc52e3848e45950b4a1f9 --- /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 ce63e98dc722bb33865762b47c4d85071da21772..b96a0d3ffb1c22fe16339ea554a2e165f81c174e 100644 --- a/glibc.spec +++ b/glibc.spec @@ -67,7 +67,7 @@ ############################################################################## Name: glibc Version: 2.38 -Release: 79 +Release: 80 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) @@ -1601,6 +1602,10 @@ fi %endif %changelog +* Thu Nov 13 2025 Jiamei Xie - 2.38-80 +- Backport patch from master branch +- Set Prefer_No_AVX512 flag for hygon platform + * Wed Nov 12 2025 Long Wei - 2.38-79 - aarch64: Optimize memcpy_sve by using 32-byte alignment