commit 19bc5ed076c9112ce7624c00267fab3b5e47f9e6
parent 37544fc471d5a62c5e366a44ad7aec57941493ec
Author: Mike Hommey <mh+mozilla@glandium.org>
Date: Tue, 2 Dec 2025 01:32:30 +0000
Bug 2001260 - Apply upstream highway patch to fix build failure with clang trunk. r=tnikkel
Differential Revision: https://phabricator.services.mozilla.com/D274666
Diffstat:
2 files changed, 44 insertions(+), 5 deletions(-)
diff --git a/media/highway/Update-target-attributes-for-changed-clang-AVX10.2-p.patch b/media/highway/Update-target-attributes-for-changed-clang-AVX10.2-p.patch
@@ -0,0 +1,41 @@
+From 16bbb825c0185fea92c32e2f15b738fcd79d9aa3 Mon Sep 17 00:00:00 2001
+From: Jan Wassenberg <janwas@google.com>
+Date: Mon, 8 Sep 2025 09:26:40 -0700
+Subject: [PATCH] Update target attributes for changed clang AVX10.2 policy.
+ Fixes #2697
+
+PiperOrigin-RevId: 804463801
+---
+ hwy/ops/set_macros-inl.h | 8 +++-----
+ 1 file changed, 3 insertions(+), 5 deletions(-)
+
+diff --git a/hwy/ops/set_macros-inl.h b/hwy/ops/set_macros-inl.h
+index 17d26418..cf917967 100644
+--- a/hwy/ops/set_macros-inl.h
++++ b/hwy/ops/set_macros-inl.h
+@@ -141,8 +141,8 @@
+ #define HWY_TARGET_STR_AVX2 \
+ HWY_TARGET_STR_SSE4 ",avx,avx2" HWY_TARGET_STR_BMI2_FMA HWY_TARGET_STR_F16C
+
+-#if (HWY_COMPILER_GCC_ACTUAL >= 1400 && HWY_COMPILER_GCC_ACTUAL < 1600) || \
+- HWY_COMPILER_CLANG >= 1800
++#if (1400 <= HWY_COMPILER_GCC_ACTUAL && HWY_COMPILER_GCC_ACTUAL < 1600) || \
++ (1800 <= HWY_COMPILER_CLANG && HWY_COMPILER_CLANG < 2000)
+ #define HWY_TARGET_STR_AVX3_VL512 ",evex512"
+ #else
+ #define HWY_TARGET_STR_AVX3_VL512
+@@ -188,10 +188,8 @@
+ #define HWY_TARGET_STR_AVX3_SPR \
+ HWY_TARGET_STR_AVX3_SPR_256 HWY_TARGET_STR_AVX3_VL512
+
+-#if HWY_COMPILER_GCC_ACTUAL >= 1500
++#if HWY_COMPILER_GCC_ACTUAL >= 1500 || HWY_COMPILER_CLANG >= 2000
+ #define HWY_TARGET_STR_AVX10_2 HWY_TARGET_STR_AVX3_SPR ",avx10.2"
+-#elif HWY_COMPILER_CLANG >= 2000
+-#define HWY_TARGET_STR_AVX10_2 HWY_TARGET_STR_AVX3_SPR ",avx10.2-512"
+ #else
+ #define HWY_TARGET_STR_AVX10_2 HWY_TARGET_STR_AVX3_SPR
+ #endif
+--
+2.51.0.1.g7a422dac74
+
diff --git a/third_party/highway/hwy/ops/set_macros-inl.h b/third_party/highway/hwy/ops/set_macros-inl.h
@@ -141,8 +141,8 @@
#define HWY_TARGET_STR_AVX2 \
HWY_TARGET_STR_SSE4 ",avx,avx2" HWY_TARGET_STR_BMI2_FMA HWY_TARGET_STR_F16C
-#if (HWY_COMPILER_GCC_ACTUAL >= 1400 && HWY_COMPILER_GCC_ACTUAL < 1600) || \
- HWY_COMPILER_CLANG >= 1800
+#if (1400 <= HWY_COMPILER_GCC_ACTUAL && HWY_COMPILER_GCC_ACTUAL < 1600) || \
+ (1800 <= HWY_COMPILER_CLANG && HWY_COMPILER_CLANG < 2000)
#define HWY_TARGET_STR_AVX3_VL512 ",evex512"
#else
#define HWY_TARGET_STR_AVX3_VL512
@@ -188,10 +188,8 @@
#define HWY_TARGET_STR_AVX3_SPR \
HWY_TARGET_STR_AVX3_SPR_256 HWY_TARGET_STR_AVX3_VL512
-#if HWY_COMPILER_GCC_ACTUAL >= 1500
+#if HWY_COMPILER_GCC_ACTUAL >= 1500 || HWY_COMPILER_CLANG >= 2000
#define HWY_TARGET_STR_AVX10_2 HWY_TARGET_STR_AVX3_SPR ",avx10.2"
-#elif HWY_COMPILER_CLANG >= 2000
-#define HWY_TARGET_STR_AVX10_2 HWY_TARGET_STR_AVX3_SPR ",avx10.2-512"
#else
#define HWY_TARGET_STR_AVX10_2 HWY_TARGET_STR_AVX3_SPR
#endif