| Issue |
166529
|
| Summary |
[Clang] VectorExprEvaluator::VisitCallExpr / InterpretBuiltin - add VPERMILPD/S imm intrinsics to be used in constexpr
|
| Labels |
good first issue,
backend:X86,
clang:frontend,
clang:headers,
constexpr,
clang:bytecode
|
| Assignees |
|
| Reporter |
RKSimon
|
Sort of a mix of the PSHUFD and SHUFPS/D intrinsics - only taking a single operand
```
__m128d _mm_permute_pd (__m128d a, int imm8)
__m128d _mm_mask_permute_pd (__m128d src, __mmask8 k, __m128d a, const int imm8)
__m128d _mm_maskz_permute_pd (__mmask8 k, __m128d a, const int imm8)
__m256d _mm256_permute_pd (__m256d a, int imm8)
__m256d _mm256_mask_permute_pd (__m256d src, __mmask8 k, __m256d a, const int imm8)
__m256d _mm256_maskz_permute_pd (__mmask8 k, __m256d a, const int imm8)
__m512d _mm512_permute_pd (__m512d a, const int imm8)
__m512d _mm512_mask_permute_pd (__m512d src, __mmask8 k, __m512d a, const int imm8)
__m512d _mm512_maskz_permute_pd (__mmask8 k, __m512d a, const int imm8)
__m128 _mm_permute_ps (__m128 a, int imm8)
__m128 _mm_mask_permute_ps (__m128 src, __mmask8 k, __m128 a, const int imm8)
__m128 _mm_maskz_permute_ps (__mmask8 k, __m128 a, const int imm8)
__m256 _mm256_permute_ps (__m256 a, int imm8)
__m256 _mm256_mask_permute_ps (__m256 src, __mmask8 k, __m256 a, const int imm8)
__m256 _mm256_maskz_permute_ps (__mmask8 k, __m256 a, const int imm8)
__m512 _mm512_permute_ps (__m512 a, const int imm8)
__m512 _mm512_mask_permute_ps (__m512 src, __mmask16 k, __m512 a, const int imm8)
__m512 _mm512_maskz_permute_ps (__mmask16 k, __m512 a, const int imm8)
```
Ideally this should wait until after #166342 so we can reuse the existing callback systems
_______________________________________________
llvm-bugs mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs