Files
dotfiles/common/optional/x86-64-v3/patches/trunk/libdeflate-gcc16.patch
T
Richie d317060926
treefmt / nix fmt (pull_request) Successful in 2s
build_systems / prebuild-common-x86-64-v3 (pull_request) Successful in 21s
build_systems / build-portal-1 (pull_request) Successful in 18s
test ebook search / test-ebook-search (pull_request) Successful in 1m6s
build_systems / build-bob (pull_request) Successful in 1m58s
build_systems / build-rhapsody-in-green (pull_request) Failing after 38m40s
build_systems / build-jeeves (pull_request) Successful in 8h2m34s
build_systems / build-brain (pull_request) Failing after 12h0m0s
more patches
2026-10-02 16:26:10 -04:00

34 lines
1.5 KiB
Diff

From 2a3762cf736aff9aa5dda329fdec3c08a816eb9b Mon Sep 17 00:00:00 2001
From: Sergei Trofimovich <slyich@gmail.com>
Date: Tue, 20 May 2025 21:18:28 +0100
Subject: [PATCH] lib/x86/cpu_features.h: drop evex512 on gcc-16
gcc-16 `master` branch dropped support for `evex512` as:
https://gcc.gnu.org/git/?p=gcc.git;a=commitdiff;h=c052a6f4a1c803cb92147ff98fb91cf3511e0856
As a result libdeflate build started failing as:
In file included from /build/source/lib/adler32.c:28:
/build/source/lib/x86/adler32_template.h:135:12: error: attribute 'target' argument 'no-evex512' is unknown
135 | ADD_SUFFIX(reduce_to_32bits)(vec_t v_s1, vec_t v_s2, u32 *s1_p, u32 *s2_p)
| ^~~~~~~~~~~~~~~~
The change adds upper build to `evex512` for `gcc`.
---
lib/x86/cpu_features.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/lib/x86/cpu_features.h b/lib/x86/cpu_features.h
index fbfdb0eb..f9d69d72 100644
--- a/lib/x86/cpu_features.h
+++ b/lib/x86/cpu_features.h
@@ -165,7 +165,7 @@ static inline u32 get_x86_cpu_features(void) { return 0; }
# define HAVE_AVXVNNI(features) ((features) & X86_CPU_FEATURE_AVXVNNI)
#endif
-#if (GCC_PREREQ(14, 0) || CLANG_PREREQ(18, 0, 18000000)) \
+#if ((GCC_PREREQ(14, 0) && !(GCC_PREREQ(16, 0))) || CLANG_PREREQ(18, 0, 18000000)) \
&& !defined(__EVEX512__) /* avoid subtracting the evex512 feature */
# define EVEX512 ",evex512" /* needed to override potential -mno-evex512 */
# define NO_EVEX512 ",no-evex512"