Issue 169295
Summary [Clang] VectorExprEvaluator::VisitCallExpr / InterpretBuiltin - allow GFNI intrinsics to be used in constexpr
Labels good first issue, backend:X86, clang:frontend, clang:headers, constexpr, clang:bytecode
Assignees
Reporter RKSimon
    GFNI instructions can be a little weird to understand, this will require thorough testing to ensure it matches what actual hardware does - possibly similar to what was done for #168100

```
__m128i _mm_gf2p8affine_epi64_epi8 (__m128i x, __m128i A, int b)
__m128i _mm_mask_gf2p8affine_epi64_epi8 (__m128i src, __mmask16 k, __m128i x, __m128i A, int b)
__m128i _mm_maskz_gf2p8affine_epi64_epi8 (__mmask16 k, __m128i x, __m128i A, int b)
__m256i _mm256_gf2p8affine_epi64_epi8 (__m256i x, __m256i A, int b)
__m256i _mm256_mask_gf2p8affine_epi64_epi8 (__m256i src, __mmask32 k, __m256i x, __m256i A, int b)
__m256i _mm256_maskz_gf2p8affine_epi64_epi8 (__mmask32 k, __m256i x, __m256i A, int b)
__m512i _mm512_gf2p8affine_epi64_epi8 (__m512i x, __m512i A, int b)
__m512i _mm512_mask_gf2p8affine_epi64_epi8 (__m512i src, __mmask64 k, __m512i x, __m512i A, int b)
__m512i _mm512_maskz_gf2p8affine_epi64_epi8 (__mmask64 k, __m512i x, __m512i A, int b)

__m128i _mm_gf2p8affineinv_epi64_epi8 (__m128i x, __m128i A, int b)
__m128i _mm_mask_gf2p8affineinv_epi64_epi8 (__m128i src, __mmask16 k, __m128i x, __m128i A, int b)
__m128i _mm_maskz_gf2p8affineinv_epi64_epi8 (__mmask16 k, __m128i x, __m128i A, int b)
__m256i _mm256_gf2p8affineinv_epi64_epi8 (__m256i x, __m256i A, int b)
__m256i _mm256_mask_gf2p8affineinv_epi64_epi8 (__m256i src, __mmask32 k, __m256i x, __m256i A, int b)
__m256i _mm256_maskz_gf2p8affineinv_epi64_epi8 (__mmask32 k, __m256i x, __m256i A, int b)
__m512i _mm512_gf2p8affineinv_epi64_epi8 (__m512i x, __m512i A, int b)
__m512i _mm512_mask_gf2p8affineinv_epi64_epi8 (__m512i src, __mmask64 k, __m512i x, __m512i A, int b)
__m512i _mm512_maskz_gf2p8affineinv_epi64_epi8 (__mmask64 k, __m512i x, __m512i A, int b)

__m128i _mm_gf2p8mul_epi8 (__m128i a, __m128i b)
__m128i _mm_mask_gf2p8mul_epi8 (__m128i src, __mmask16 k, __m128i a, __m128i b)
__m128i _mm_maskz_gf2p8mul_epi8 (__mmask16 k, __m128i a, __m128i b)
__m256i _mm256_gf2p8mul_epi8 (__m256i a, __m256i b)
__m256i _mm256_mask_gf2p8mul_epi8 (__m256i src, __mmask32 k, __m256i a, __m256i b)
__m256i _mm256_maskz_gf2p8mul_epi8 (__mmask32 k, __m256i a, __m256i b)
__m512i _mm512_gf2p8mul_epi8 (__m512i a, __m512i b)
__m512i _mm512_mask_gf2p8mul_epi8 (__m512i src, __mmask64 k, __m512i a, __m512i b)
__m512i _mm512_maskz_gf2p8mul_epi8 (__mmask64 k, __m512i a, __m512i b)
```
_______________________________________________
llvm-bugs mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs

Reply via email to