<table border="1" cellspacing="0" cellpadding="8">
    <tr>
        <th>Issue</th>
        <td>
            <a href=https://github.com/llvm/llvm-project/issues/161335>161335</a>
        </td>
    </tr>

    <tr>
        <th>Summary</th>
        <td>
            [Clang] VectorExprEvaluator::VisitCallExpr / InterpretBuiltin - allow AVX512 permutex2 intrinsics to be used in constexpr
        </td>
    </tr>

    <tr>
      <th>Labels</th>
      <td>
            good first issue,
            backend:X86,
            clang:headers,
            constexpr,
            clang:bytecode
      </td>
    </tr>

    <tr>
      <th>Assignees</th>
      <td>
      </td>
    </tr>

    <tr>
      <th>Reporter</th>
      <td>
          RKSimon
      </td>
    </tr>
</table>

<pre>
    ```
__m128i _mm_mask2_permutex2var_epi16 (__m128i a, __m128i idx, __mmask8 k, __m128i b)
__m128i _mm_maskz_permutex2var_epi16 (__mmask8 k, __m128i a, __m128i idx, __m128i b)
__m128i _mm_permutex2var_epi16 (__m128i a, __m128i idx, __m128i b)
__m256i _mm256_mask2_permutex2var_epi16 (__m256i a, __m256i idx, __mmask16 k, __m256i b)
__m256i _mm256_maskz_permutex2var_epi16 (__mmask16 k, __m256i a, __m256i idx, __m256i b)
__m256i _mm256_permutex2var_epi16 (__m256i a, __m256i idx, __m256i b)
__m512i _mm512_mask2_permutex2var_epi16 (__m512i a, __m512i idx, __mmask32 k, __m512i b)
__m512i _mm512_maskz_permutex2var_epi16 (__mmask32 k, __m512i a, __m512i idx, __m512i b)
__m512i _mm512_permutex2var_epi16 (__m512i a, __m512i idx, __m512i b)
__m128i _mm_mask2_permutex2var_epi32 (__m128i a, __m128i idx, __mmask8 k, __m128i b)
__m128i _mm_maskz_permutex2var_epi32 (__mmask8 k, __m128i a, __m128i idx, __m128i b)
__m128i _mm_permutex2var_epi32 (__m128i a, __m128i idx, __m128i b)
__m256i _mm256_mask2_permutex2var_epi32 (__m256i a, __m256i idx, __mmask8 k, __m256i b)
__m256i _mm256_maskz_permutex2var_epi32 (__mmask8 k, __m256i a, __m256i idx, __m256i b)
__m256i _mm256_permutex2var_epi32 (__m256i a, __m256i idx, __m256i b)
__m512i _mm512_mask2_permutex2var_epi32 (__m512i a, __m512i idx, __mmask16 k, __m512i b)
__m512i _mm512_maskz_permutex2var_epi32 (__mmask16 k, __m512i a, __m512i idx, __m512i b)
__m512i _mm512_permutex2var_epi32 (__m512i a, __m512i idx, __m512i b)
__m128i _mm_mask2_permutex2var_epi64 (__m128i a, __m128i idx, __mmask8 k, __m128i b)
__m128i _mm_maskz_permutex2var_epi64 (__mmask8 k, __m128i a, __m128i idx, __m128i b)
__m128i _mm_permutex2var_epi64 (__m128i a, __m128i idx, __m128i b)
__m256i _mm256_mask2_permutex2var_epi64 (__m256i a, __m256i idx, __mmask8 k, __m256i b)
__m256i _mm256_maskz_permutex2var_epi64 (__mmask8 k, __m256i a, __m256i idx, __m256i b)
__m256i _mm256_permutex2var_epi64 (__m256i a, __m256i idx, __m256i b)
__m512i _mm512_mask2_permutex2var_epi64 (__m512i a, __m512i idx, __mmask8 k, __m512i b)
__m512i _mm512_maskz_permutex2var_epi64 (__mmask8 k, __m512i a, __m512i idx, __m512i b)
__m512i _mm512_permutex2var_epi64 (__m512i a, __m512i idx, __m512i b)
__m128i _mm_mask2_permutex2var_epi8 (__m128i a, __m128i idx, __mmask16 k, __m128i b)
__m128i _mm_maskz_permutex2var_epi8 (__mmask16 k, __m128i a, __m128i idx, __m128i b)
__m128i _mm_permutex2var_epi8 (__m128i a, __m128i idx, __m128i b)
__m256i _mm256_mask2_permutex2var_epi8 (__m256i a, __m256i idx, __mmask32 k, __m256i b)
__m256i _mm256_maskz_permutex2var_epi8 (__mmask32 k, __m256i a, __m256i idx, __m256i b)
__m256i _mm256_permutex2var_epi8 (__m256i a, __m256i idx, __m256i b)
__m512i _mm512_mask2_permutex2var_epi8 (__m512i a, __m512i idx, __mmask64 k, __m512i b)
__m512i _mm512_maskz_permutex2var_epi8 (__mmask64 k, __m512i a, __m512i idx, __m512i b)
__m512i _mm512_permutex2var_epi8 (__m512i a, __m512i idx, __m512i b)
__m128d _mm_mask2_permutex2var_pd (__m128d a, __m128i idx, __mmask8 k, __m128d b)
__m128d _mm_maskz_permutex2var_pd (__mmask8 k, __m128d a, __m128i idx, __m128d b)
__m128d _mm_permutex2var_pd (__m128d a, __m128i idx, __m128d b)
__m256d _mm256_mask2_permutex2var_pd (__m256d a, __m256i idx, __mmask8 k, __m256d b)
__m256d _mm256_maskz_permutex2var_pd (__mmask8 k, __m256d a, __m256i idx, __m256d b)
__m256d _mm256_permutex2var_pd (__m256d a, __m256i idx, __m256d b)
__m512d _mm512_mask2_permutex2var_pd (__m512d a, __m512i idx, __mmask8 k, __m512d b)
__m512d _mm512_maskz_permutex2var_pd (__mmask8 k, __m512d a, __m512i idx, __m512d b)
__m512d _mm512_permutex2var_pd (__m512d a, __m512i idx, __m512d b)
__m256h _mm256_permutex2var_ph (__m256h a, __m256i idx, __m256h b)
__m512h _mm512_permutex2var_ph (__m512h a, __m512i idx, __m512h b)
__m128 _mm_mask2_permutex2var_ps (__m128 a, __m128i idx, __mmask8 k, __m128 b)
__m128 _mm_maskz_permutex2var_ps (__mmask8 k, __m128 a, __m128i idx, __m128 b)
__m128 _mm_permutex2var_ps (__m128 a, __m128i idx, __m128 b)
__m256 _mm256_mask2_permutex2var_ps (__m256 a, __m256i idx, __mmask8 k, __m256 b)
__m256 _mm256_maskz_permutex2var_ps (__mmask8 k, __m256 a, __m256i idx, __m256 b)
__m256 _mm256_permutex2var_ps (__m256 a, __m256i idx, __m256 b)
__m512 _mm512_mask2_permutex2var_ps (__m512 a, __m512i idx, __mmask16 k, __m512 b)
__m512 _mm512_maskz_permutex2var_ps (__mmask16 k, __m512 a, __m512i idx, __m512 b)
__m512 _mm512_permutex2var_ps (__m512 a, __m512i idx, __m512 b)
```
</pre>
<img width="1" height="1" alt="" src="http://email.email.llvm.org/o/eJy0mN9uozgYxZ_G3Fit4HNMnAsuMu1EWu3drlTNXWSwG7zlT4RNtzNPPwpqScJgx05TqVJFcM4534EfELjWatdImSH6DdHHiPembLvsn7__VXXbRHkrfmYojd__4vV2WyfAFN7W9bbm-gW2e9nVvZFv8Mq7rdyrJMUI2Mc6juABf2wo8fa-efgqwy-nO3MEqxmDX3aDGRGLnc3gquwTMaDpIAY0vdTIsPRDddg4byRJx2mGvXaTC61MhSyeDpOrZpjo0QQGPZrApWaGpR-qw8Z5MwTGgYa9dpMLzUyFLJ4Ok6tmmOhdQIjAFyM0GtweIa_swQiNqpcQYtcTZCnlRgB5TRAM0Kh6CaCTK0IwQGfFTIU-D5DXDGEApYsvBmg0uD1AXtmDARpVvxAgSyk3AshrgmCARtVLALHr-bH0ciN8vCYIw4d50nNyLQjDh81fUG6Bj0_2YHqYJzwnTxfB9LD5p5Qb0eMzQTA8zJOddHE9PKe1THU-D4_PBH-yI2zs7MXx7BPe9x1hU_9lUZ9RsJ_ps-rhqSdKQFPhYGaUHNb53m5cBn5duOwcBuHZJ2I0AeFgZZQc1vneZVwGfnW47BwG4dknYkDTcr7b8tht6ei2PE9Wzicrj8lKR7LynAArvPqIgTe7Funp4dE2ch24zUgH5z2XAZq6mNXHY-ONrF3drwKHl1U9OPW5Ek3Ahao-nlT-P6js8q4aJhr2M3hePjj3idL4Ti8SGRErsuKRzJIlXQHAkqRRmdGFKOJlShgtniVbLmKeL5ewhCUVhBHJIpVBDDRekThmlNH0HgqSA39OxUoKEq9WaBHLmqvqvqpe6_u220VK615mSZoQQqOK57LSw4tHgF3bCvysOm3wsAgBIHhAADkvXmQjEFn_YOn4aVHxZofIupRcyE4fP28bbeTbvvtjZf7TyKIVgzB9jLrsEOou73caLeJKaaOPMY0y1fBG9GH4Mn3ET7Iwbff9bd99f-VVz03bIbJGZP2ktDIPvKoO-zCCDf6rMbLbd9J861VlVIPvMK-q9n-8fvpxOADjUcOqMZ1qtCo0Ni3OJe61FFg1eJwi6rsqK43Z64MbbBBsdsqUfX5ftDWCzSHx-7-7fdf-JwuDYDMUqBFs3ot-zeB3AAAA___jYbnS">