https://github.com/SadiinsoSnowfall updated 
https://github.com/llvm/llvm-project/pull/156819

>From 1e8482846c5d623192bb5ce8e21dbc4eeb3fd591 Mon Sep 17 00:00:00 2001
From: SadiinsoSnowfall <sadii...@gmail.com>
Date: Thu, 4 Sep 2025 09:28:09 +0200
Subject: [PATCH] made the AVX512 _set macros into functions

---
 clang/lib/Headers/avx512fintrin.h      | 58 +++++++++++++++++---------
 clang/lib/Headers/avx512fp16intrin.h   | 19 +++++----
 clang/lib/Headers/avx512vlfp16intrin.h | 19 ++++++---
 3 files changed, 64 insertions(+), 32 deletions(-)

diff --git a/clang/lib/Headers/avx512fintrin.h 
b/clang/lib/Headers/avx512fintrin.h
index 9c0fa9719fb62..f8c48152171cb 100644
--- a/clang/lib/Headers/avx512fintrin.h
+++ b/clang/lib/Headers/avx512fintrin.h
@@ -374,17 +374,25 @@ _mm512_set4_ps(float __A, float __B, float __C, float 
__D) {
      __D, __C, __B, __A, __D, __C, __B, __A };
 }
 
-#define _mm512_setr4_epi32(e0,e1,e2,e3)               \
-  _mm512_set4_epi32((e3),(e2),(e1),(e0))
+static __inline __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
+_mm512_setr4_epi32(int e0, int e1, int e2, int e3) {
+  return _mm512_set4_epi32(e3, e2, e1, e0);
+}
 
-#define _mm512_setr4_epi64(e0,e1,e2,e3)               \
-  _mm512_set4_epi64((e3),(e2),(e1),(e0))
+static __inline __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
+_mm512_setr4_epi64(long long e0, long long e1, long long e2, long long e3) {
+  return _mm512_set4_epi64(e3, e2, e1, e0);
+}
 
-#define _mm512_setr4_pd(e0,e1,e2,e3)                \
-  _mm512_set4_pd((e3),(e2),(e1),(e0))
+static __inline __m512d __DEFAULT_FN_ATTRS512_CONSTEXPR
+_mm512_setr4_pd(double e0, double e1, double e2, double e3) {
+  return _mm512_set4_pd(e3, e2, e1, e0);
+}
 
-#define _mm512_setr4_ps(e0,e1,e2,e3)                \
-  _mm512_set4_ps((e3),(e2),(e1),(e0))
+static __inline __m512 __DEFAULT_FN_ATTRS512_CONSTEXPR
+_mm512_setr4_ps(float e0, float e1, float e2, float e3) {
+  return _mm512_set4_ps(e3, e2, e1, e0);
+}
 
 static __inline__ __m512d __DEFAULT_FN_ATTRS512_CONSTEXPR
 _mm512_broadcastsd_pd(__m128d __A) {
@@ -9006,10 +9014,12 @@ static __inline __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR 
_mm512_set_epi32(
     __H, __G, __F, __E, __D, __C, __B, __A };
 }
 
-#define _mm512_setr_epi32(e0,e1,e2,e3,e4,e5,e6,e7,           \
-       e8,e9,e10,e11,e12,e13,e14,e15)          \
-  _mm512_set_epi32((e15),(e14),(e13),(e12),(e11),(e10),(e9),(e8),(e7),(e6), \
-                   (e5),(e4),(e3),(e2),(e1),(e0))
+static __inline __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR _mm512_setr_epi32(
+    int e0, int e1, int e2, int e3, int e4, int e5, int e6, int e7, int e8,
+    int e9, int e10, int e11, int e12, int e13, int e14, int e15) {
+  return _mm512_set_epi32(e15, e14, e13, e12, e11, e10, e9, e8, e7, e6, e5, e4,
+                          e3, e2, e1, e0);
+}
 
 static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
 _mm512_set_epi64(long long __A, long long __B, long long __C, long long __D,
@@ -9018,8 +9028,11 @@ _mm512_set_epi64(long long __A, long long __B, long long 
__C, long long __D,
   { __H, __G, __F, __E, __D, __C, __B, __A };
 }
 
-#define _mm512_setr_epi64(e0,e1,e2,e3,e4,e5,e6,e7)           \
-  _mm512_set_epi64((e7),(e6),(e5),(e4),(e3),(e2),(e1),(e0))
+static __inline __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
+_mm512_setr_epi64(long long e0, long long e1, long long e2, long long e3,
+                  long long e4, long long e5, long long e6, long long e7) {
+  return _mm512_set_epi64(e7, e6, e5, e4, e3, e2, e1, e0);
+}
 
 static __inline__ __m512d __DEFAULT_FN_ATTRS512_CONSTEXPR
 _mm512_set_pd(double __A, double __B, double __C, double __D, double __E,
@@ -9028,8 +9041,11 @@ _mm512_set_pd(double __A, double __B, double __C, double 
__D, double __E,
   { __H, __G, __F, __E, __D, __C, __B, __A };
 }
 
-#define _mm512_setr_pd(e0,e1,e2,e3,e4,e5,e6,e7)              \
-  _mm512_set_pd((e7),(e6),(e5),(e4),(e3),(e2),(e1),(e0))
+static __inline__ __m512d __DEFAULT_FN_ATTRS512_CONSTEXPR
+_mm512_setr_pd(double e0, double e1, double e2, double e3, double e4, double 
e5,
+               double e6, double e7) {
+  return _mm512_set_pd(e7, e6, e5, e4, e3, e2, e1, e0);
+}
 
 static __inline__ __m512 __DEFAULT_FN_ATTRS512_CONSTEXPR
 _mm512_set_ps(float __A, float __B, float __C, float __D, float __E, float __F,
@@ -9040,9 +9056,13 @@ _mm512_set_ps(float __A, float __B, float __C, float 
__D, float __E, float __F,
     __H, __G, __F, __E, __D, __C, __B, __A };
 }
 
-#define _mm512_setr_ps(e0,e1,e2,e3,e4,e5,e6,e7,e8,e9,e10,e11,e12,e13,e14,e15) \
-  _mm512_set_ps((e15),(e14),(e13),(e12),(e11),(e10),(e9),(e8),(e7),(e6),(e5), \
-                (e4),(e3),(e2),(e1),(e0))
+static __inline__ __m512 __DEFAULT_FN_ATTRS512_CONSTEXPR
+_mm512_setr_ps(float e0, float e1, float e2, float e3, float e4, float e5,
+               float e6, float e7, float e8, float e9, float e10, float e11,
+               float e12, float e13, float e14, float e15) {
+  return _mm512_set_ps(e15, e14, e13, e12, e11, e10, e9, e8, e7, e6, e5, e4, 
e3,
+                       e2, e1, e0);
+}
 
 static __inline__ __m512 __DEFAULT_FN_ATTRS512_CONSTEXPR
 _mm512_abs_ps(__m512 __A) {
diff --git a/clang/lib/Headers/avx512fp16intrin.h 
b/clang/lib/Headers/avx512fp16intrin.h
index 25f65aee7ff11..5a5d21d2dc790 100644
--- a/clang/lib/Headers/avx512fp16intrin.h
+++ b/clang/lib/Headers/avx512fp16intrin.h
@@ -100,13 +100,18 @@ _mm512_set_ph(_Float16 __h1, _Float16 __h2, _Float16 
__h3, _Float16 __h4,
                             __h4,  __h3,  __h2,  __h1};
 }
 
-#define _mm512_setr_ph(h1, h2, h3, h4, h5, h6, h7, h8, h9, h10, h11, h12, h13, 
\
-                       h14, h15, h16, h17, h18, h19, h20, h21, h22, h23, h24,  
\
-                       h25, h26, h27, h28, h29, h30, h31, h32)                 
\
-  _mm512_set_ph((h32), (h31), (h30), (h29), (h28), (h27), (h26), (h25), (h24), 
\
-                (h23), (h22), (h21), (h20), (h19), (h18), (h17), (h16), (h15), 
\
-                (h14), (h13), (h12), (h11), (h10), (h9), (h8), (h7), (h6),     
\
-                (h5), (h4), (h3), (h2), (h1))
+static __inline__ __m512h __DEFAULT_FN_ATTRS512_CONSTEXPR _mm512_setr_ph(
+    _Float16 e0, _Float16 e1, _Float16 e2, _Float16 e3, _Float16 e4,
+    _Float16 e5, _Float16 e6, _Float16 e7, _Float16 e8, _Float16 e9,
+    _Float16 e10, _Float16 e11, _Float16 e12, _Float16 e13, _Float16 e14,
+    _Float16 e15, _Float16 e16, _Float16 e17, _Float16 e18, _Float16 e19,
+    _Float16 e20, _Float16 e21, _Float16 e22, _Float16 e23, _Float16 e24,
+    _Float16 e25, _Float16 e26, _Float16 e27, _Float16 e28, _Float16 e29,
+    _Float16 e30, _Float16 e31) {
+  return _mm512_set_ph(e31, e30, e29, e28, e27, e26, e25, e24, e23, e22, e21,
+                       e20, e19, e18, e17, e16, e15, e14, e13, e12, e11, e10,
+                       e9, e8, e7, e6, e5, e4, e3, e2, e1, e0);
+}
 
 static __inline __m512h __DEFAULT_FN_ATTRS512
 _mm512_set1_pch(_Float16 _Complex __h) {
diff --git a/clang/lib/Headers/avx512vlfp16intrin.h 
b/clang/lib/Headers/avx512vlfp16intrin.h
index 98ad9b54eef39..3b10050a01f66 100644
--- a/clang/lib/Headers/avx512vlfp16intrin.h
+++ b/clang/lib/Headers/avx512vlfp16intrin.h
@@ -81,13 +81,20 @@ _mm256_set_ph(_Float16 __h1, _Float16 __h2, _Float16 __h3, 
_Float16 __h4,
                             __h4,  __h3,  __h2,  __h1};
 }
 
-#define _mm_setr_ph(h1, h2, h3, h4, h5, h6, h7, h8)                            
\
-  _mm_set_ph((h8), (h7), (h6), (h5), (h4), (h3), (h2), (h1))
+static __inline__ __m128h __DEFAULT_FN_ATTRS128
+_mm_setr_ph(_Float16 e0, _Float16 e1, _Float16 e2, _Float16 e3, _Float16 e4,
+            _Float16 e5, _Float16 e6, _Float16 e7) {
+  return _mm_set_ph(e7, e6, e5, e4, e3, e2, e1, e0);
+}
 
-#define _mm256_setr_ph(h1, h2, h3, h4, h5, h6, h7, h8, h9, h10, h11, h12, h13, 
\
-                       h14, h15, h16)                                          
\
-  _mm256_set_ph((h16), (h15), (h14), (h13), (h12), (h11), (h10), (h9), (h8),   
\
-                (h7), (h6), (h5), (h4), (h3), (h2), (h1))
+static __inline__ __m256h __DEFAULT_FN_ATTRS256
+_mm256_setr_ph(_Float16 e0, _Float16 e1, _Float16 e2, _Float16 e3, _Float16 e4,
+               _Float16 e5, _Float16 e6, _Float16 e7, _Float16 e8, _Float16 e9,
+               _Float16 e10, _Float16 e11, _Float16 e12, _Float16 e13,
+               _Float16 e14, _Float16 e15) {
+  return _mm256_set_ph(e15, e14, e13, e12, e11, e10, e9, e8, e7, e6, e5, e4, 
e3,
+                       e2, e1, e0);
+}
 
 static __inline__ __m256h __DEFAULT_FN_ATTRS256 _mm256_add_ph(__m256h __A,
                                                               __m256h __B) {

_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to