| Issue |
162074
|
| Summary |
[Headers][X86] Allow AVX512 masked shuffles to be used in constexpr
|
| Labels |
good first issue,
backend:X86,
clang:headers
|
| Assignees |
|
| Reporter |
RKSimon
|
These appear to be missed in earlier patches like #152313 as we didn't have mask/maskz constexpr support back then, most just need a header tweak and test coverage:
```
_mm_mask_set1_epi32 _mm_maskz_set1_epi32
_mm_mask_set1_epi64 _mm_maskz_set1_epi64
_mm256_mask_set1_epi32 _mm256_maskz_set1_epi32
_mm256_mask_set1_epi64 _mm256_maskz_set1_epi64
_mm512_mask_set1_epi32 _mm512_maskz_set1_epi32
_mm512_mask_set1_epi64 _mm512_maskz_set1_epi64
_mm_mask_broadcast_i32x2 _mm_mask_broadcast_i32x2
_mm256_mask_broadcast_f32x2 _mm256_maskz_broadcast_f32x2
_mm256_mask_broadcast_f64x2 _mm256_maskx_broadcast_f64x2
_mm256_mask_broadcast_i32x2 _mm256_maskz_broadcast_i32x2
_mm256_mask_broadcast_i64x2 _mm256_maskz_broadcast_i64x2
_mm512_mask_broadcast_f32x2 _mm512_maskz_broadcast_f32x2
_mm512_mask_broadcast_f32x8 _mm512_maskz_broadcast_f32x8
_mm512_mask_broadcast_f64x2 _mm512_maskz_broadcast_f64x2
_mm512_mask_broadcast_i32x2 _mm512_maskz_broadcast_i32x2
_mm512_mask_broadcast_i32x8 _mm512_maskz_broadcast_i32x8
_mm512_mask_broadcast_i64x2 _mm512_maskz_broadcast_i64x2
_mm256_mask_broadcast_i32x4 _mm256_maskz_broadcast_i32x4
_mm256_mask_broadcast_f32x4 _mm256_maskz_broadcast_f32x4
_mm_mask_broadcastss_ps _mm_maskz_broadcastss_ps
_mm256_mask_broadcastsd_pd _mm256_maskz_broadcastsd_pd
_mm256_mask_broadcastss_ps _mm256_maskz_broadcastss_ps
_mm_mask_broadcastd_epi32 _mm_maskz_broadcastd_epi32
_mm_mask_broadcastq_epi64 _mm_maskz_broadcastq_epi64
_mm256_mask_broadcastd_epi32 _mm256_maskz_broadcastd_epi32
_mm256_mask_broadcastq_epi64 _mm256_maskz_broadcastq_epi64
_mm512_mask_broadcastd_epi32 / _mm512_maskz_broadcastd_epi32
_mm512_mask_broadcastq_epi64 / _mm512_maskz_broadcastq_epi64
_mm_mask_movehdup_ps / _mm_maskz_movehdup_ps
_mm_mask_moveldup_ps / _mm_maskz_moveldup_ps
_mm_mask_unpackhi_pd / _mm_maskz_unpackhi_pd
_mm_mask_unpacklo_pd / _mm_maskz_unpacklo_pd
_mm_mask_unpackhi_ps / _mm_maskz_unpackhi_ps
_mm_mask_unpacklo_ps / _mm_maskz_unpacklo_ps
_mm_mask_unpackhi_epi64 / _mm_maskz_unpackhi_epi64
_mm_mask_unpacklo_epi64 / _mm_maskz_unpacklo_epi64
_mm_mask_unpackhi_epi32 / _mm_maskz_unpackhi_epi32
_mm_mask_unpacklo_epi32 / _mm_maskz_unpacklo_epi32
_mm256_mask_movehdup_ps / _mm256_maskz_movehdup_ps
_mm256_mask_moveldup_ps / _mm256_maskz_moveldup_ps
_mm256_mask_unpackhi_pd / _mm256_maskz_unpackhi_pd
_mm256_mask_unpacklo_pd / _mm256_maskz_unpacklo_pd
_mm256_mask_unpackhi_ps / _mm256_maskz_unpackhi_ps
_mm256_mask_unpacklo_ps / _mm256_maskz_unpacklo_ps
_mm256_mask_unpackhi_epi64 / _mm256_maskz_unpackhi_epi64
_mm256_mask_unpacklo_epi64 / _mm256_maskz_unpacklo_epi64
_mm256_mask_unpackhi_epi32 / _mm256_maskz_unpackhi_epi32
_mm256_mask_unpacklo_epi32 / _mm256_maskz_unpacklo_epi32
_mm512_mask_movehdup_ps / _mm512_maskz_movehdup_ps
_mm512_mask_moveldup_ps / _mm512_maskz_moveldup_ps
_mm512_mask_unpackhi_pd / _mm512_maskz_unpackhi_pd
_mm512_mask_unpacklo_pd / _mm512_maskz_unpacklo_pd
_mm512_mask_unpackhi_ps / _mm512_maskz_unpackhi_ps
_mm512_mask_unpacklo_ps / _mm512_maskz_unpacklo_ps
_mm512_mask_unpackhi_epi64 / _mm512_maskz_unpackhi_epi64
_mm512_mask_unpacklo_epi64 / _mm512_maskz_unpacklo_epi64
_mm512_mask_unpackhi_epi32 / _mm512_maskz_unpackhi_epi32
_mm512_mask_unpacklo_epi32 / _mm512_maskz_unpacklo_epi32
_mm_mask_move_ss / _mm_maskz_move_ss
_mm_mask_move_sd / _mm_maskz_move_sd
```
(I may have missed some shuffle cases from avx512fintrin.h / avx512vlintrin.h)
_______________________________________________
llvm-bugs mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs