[clang] [Headers][X86] Allow AVX movddup/movsldup/movshdup intrinsics to be used in constexpr (PR #152340)
via cfe-commits
cfe-commits at lists.llvm.org
Wed Aug 6 10:02:58 PDT 2025
github-actions[bot] wrote:
<!--LLVM CODE FORMAT COMMENT: {clang-format}-->
:warning: C/C++ code formatter, clang-format found issues in your code. :warning:
<details>
<summary>
You can test this locally with the following command:
</summary>
``````````bash
git-clang-format --diff HEAD~1 HEAD --extensions h,c -- clang/lib/Headers/avx512fintrin.h clang/lib/Headers/avxintrin.h clang/test/CodeGen/X86/avx-builtins.c clang/test/CodeGen/X86/avx512f-builtins.c
``````````
</details>
<details>
<summary>
View the diff from clang-format here.
</summary>
``````````diff
diff --git a/clang/lib/Headers/avx512fintrin.h b/clang/lib/Headers/avx512fintrin.h
index b743c5b84..87f9d5f5a 100644
--- a/clang/lib/Headers/avx512fintrin.h
+++ b/clang/lib/Headers/avx512fintrin.h
@@ -5304,8 +5304,7 @@ _mm512_mask_store_epi64 (void *__P, __mmask8 __U, __m512i __A)
}
static __inline__ __m512d __DEFAULT_FN_ATTRS512_CONSTEXPR
-_mm512_movedup_pd (__m512d __A)
-{
+_mm512_movedup_pd(__m512d __A) {
return (__m512d)__builtin_shufflevector((__v8df)__A, (__v8df)__A,
0, 0, 2, 2, 4, 4, 6, 6);
}
@@ -8666,8 +8665,7 @@ _mm512_mask_testn_epi64_mask (__mmask8 __U, __m512i __A, __m512i __B)
}
static __inline__ __m512 __DEFAULT_FN_ATTRS512_CONSTEXPR
-_mm512_movehdup_ps (__m512 __A)
-{
+_mm512_movehdup_ps(__m512 __A) {
return (__m512)__builtin_shufflevector((__v16sf)__A, (__v16sf)__A,
1, 1, 3, 3, 5, 5, 7, 7, 9, 9, 11, 11, 13, 13, 15, 15);
}
@@ -8689,8 +8687,7 @@ _mm512_maskz_movehdup_ps (__mmask16 __U, __m512 __A)
}
static __inline__ __m512 __DEFAULT_FN_ATTRS512_CONSTEXPR
-_mm512_moveldup_ps (__m512 __A)
-{
+_mm512_moveldup_ps(__m512 __A) {
return (__m512)__builtin_shufflevector((__v16sf)__A, (__v16sf)__A,
0, 0, 2, 2, 4, 4, 6, 6, 8, 8, 10, 10, 12, 12, 14, 14);
}
diff --git a/clang/lib/Headers/avxintrin.h b/clang/lib/Headers/avxintrin.h
index 0ccdaaa1f..21196a2fd 100644
--- a/clang/lib/Headers/avxintrin.h
+++ b/clang/lib/Headers/avxintrin.h
@@ -2393,8 +2393,7 @@ _mm256_cvtss_f32(__m256 __a)
/// \returns A 256-bit vector of [8 x float] containing the moved and duplicated
/// values.
static __inline __m256 __DEFAULT_FN_ATTRS_CONSTEXPR
-_mm256_movehdup_ps(__m256 __a)
-{
+_mm256_movehdup_ps(__m256 __a) {
return __builtin_shufflevector((__v8sf)__a, (__v8sf)__a, 1, 1, 3, 3, 5, 5, 7, 7);
}
@@ -2418,8 +2417,7 @@ _mm256_movehdup_ps(__m256 __a)
/// \returns A 256-bit vector of [8 x float] containing the moved and duplicated
/// values.
static __inline __m256 __DEFAULT_FN_ATTRS_CONSTEXPR
-_mm256_moveldup_ps(__m256 __a)
-{
+_mm256_moveldup_ps(__m256 __a) {
return __builtin_shufflevector((__v8sf)__a, (__v8sf)__a, 0, 0, 2, 2, 4, 4, 6, 6);
}
@@ -2440,8 +2438,7 @@ _mm256_moveldup_ps(__m256 __a)
/// \returns A 256-bit vector of [4 x double] containing the moved and
/// duplicated values.
static __inline __m256d __DEFAULT_FN_ATTRS_CONSTEXPR
-_mm256_movedup_pd(__m256d __a)
-{
+_mm256_movedup_pd(__m256d __a) {
return __builtin_shufflevector((__v4df)__a, (__v4df)__a, 0, 0, 2, 2);
}
``````````
</details>
https://github.com/llvm/llvm-project/pull/152340
More information about the cfe-commits
mailing list