https://github.com/RKSimon 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