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

    <tr>
        <th>Summary</th>
        <td>
            [Headers][X86] Allow AVX/AVX512 generic conversion intrinsics to be used in constexpr
        </td>
    </tr>

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

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

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

<pre>
    Followup to #152315, these are all the remaining intrinsics I can locate that just wrap __builtin_convertvector/__builtin_shufflevector and can be easily used in constexpr with suitable test coverage

```
avxintrin.h
_mm256_cvtepi32_pd
_mm256_cvtepi32_ps
_mm256_cvtps_pd

avx512fintrin.h
_mm512_cvtepi32_ps _mm512_mask_cvtepi32_ps _mm512_maskz_cvtepi32_ps
_mm512_cvtepu32_ps _mm512_mask_cvtepu32_ps _mm512_maskz_cvtepu32_ps
_mm512_cvtepi32_pd _mm512_mask_cvtepi32_pd _mm512_maskz_cvtepi32_pd _mm512_cvtepi32lo_pd _mm512_mask_cvtepi32lo_pd 
_mm512_cvtepu32_pd _mm512_mask_cvtepu32_pd _mm512_maskz_cvtepu32_pd _mm512_cvtepu32lo_pd _mm512_mask_cvtepu32lo_pd

_mm512_cvtps_pd _mm512_mask_cvtps_pd _mm512_maskz_cvtps_pd _mm512_cvtpslo_pd _mm512_mask_cvtpslo_pd

_mm512_mask_cvtepi8_epi32 _mm512_maskz_cvtepi8_epi32
_mm512_mask_cvtepi8_epi64 _mm512_maskz_cvtepi8_epi64
_mm512_mask_cvtepi16_epi32 _mm512_maskz_cvtepi16_epi32
_mm512_mask_cvtepi16_epi64 _mm512_maskz_cvtepi16_epi64
_mm512_mask_cvtepi32_epi64 _mm512_maskz_cvtepi32_epi64

_mm512_mask_cvtepu8_epi32 _mm512_maskz_cvtepu8_epi32
_mm512_mask_cvtepu8_epi64 _mm512_maskz_cvtepu8_epi64
_mm512_mask_cvtepu16_epi32 _mm512_maskz_cvtepu16_epi32
_mm512_mask_cvtepu16_epi64 _mm512_maskz_cvtepu16_epi64
_mm512_mask_cvtepu32_epi64 _mm512_maskz_cvtepu32_epi64

avx512vlintrin.h
_mm_mask_cvtepi32_pd _mm_maskz_cvtepi32_pd
_mm_mask_cvtepi32_ps _mm_maskz_cvtepi32_ps
_mm_cvtepu32_pd _mm_mask_cvtepu32_pd _mm_maskz_cvtepu32_pd
_mm_cvtepu32_ps _mm_mask_cvtepu32_ps _mm_maskz_cvtepu32_ps
_mm256_mask_cvtepi32_pd _mm256_maskz_cvtepi32_pd
_mm256_mask_cvtepi32_ps _mm256_maskz_cvtepi32_ps
_mm256_cvtepu32_pd _mm256_mask_cvtepu32_pd _mm256_maskz_cvtepu32_pd
_mm256_cvtepu32_ps _mm256_mask_cvtepu32_ps _mm256_maskz_cvtepu32_ps

_mm_cvtepi32_epi8 _mm_mask_cvtepi32_epi8 _mm_maskz_cvtepi32_epi8
_mm_cvtepi32_epi16 _mm_mask_cvtepi32_epi16 _mm_maskz_cvtepi32_epi16
_mm_cvtepi64_epi8 _mm_mask_cvtepi64_epi8 _mm_maskz_cvtepi64_epi8
_mm_cvtepi64_epi16 _mm_mask_cvtepi64_epi16 _mm_maskz_cvtepi64_epi16
_mm_cvtepi64_epi32 _mm_mask_cvtepi64_epi32 _mm_maskz_cvtepi64_epi32
_mm256_cvtepi32_epi8 _mm256_mask_cvtepi32_epi8 _mm256_maskz_cvtepi32_epi8
_mm256_cvtepi32_epi16 _mm256_mask_cvtepi32_epi16 _mm256_maskz_cvtepi32_epi16
_mm256_cvtepi64_epi8 _mm256_mask_cvtepi64_epi8 _mm256_maskz_cvtepi64_epi8
_mm256_cvtepi64_epi16 _mm256_mask_cvtepi64_epi16 _mm256_maskz_cvtepi64_epi16
_mm256_cvtepi64_epi32 _mm256_mask_cvtepi64_epi32 _mm256_maskz_cvtepi64_epi32

avx512dqintrin.h
_mm512_cvtepi64_pd _mm512_mask_cvtepi64_pd _mm512_maskz_cvtepi64_pd
_mm512_cvtepu64_pd _mm512_mask_cvtepu64_pd _mm512_maskz_cvtepu64_pd

avx512vldqintrin.h
_mm_cvtepi64_pd _mm_mask_cvtepi64_pd _mm_maskz_cvtepi64_pd
_mm_cvtepu64_pd _mm_mask_cvtepu64_pd _mm_maskz_cvtepu64_pd
_mm_cvtepi64_ps _mm_mask_cvtepi64_ps _mm_maskz_cvtepi64_ps
_mm_cvtepu64_ps _mm_mask_cvtepu64_ps _mm_maskz_cvtepu64_ps
_mm256_cvtepi64_pd _mm256_mask_cvtepi64_pd _mm256_maskz_cvtepi64_pd
_mm256_cvtepu64_pd _mm256_mask_cvtepu64_pd _mm256_maskz_cvtepu64_pd
_mm256_cvtepi64_ps _mm256_mask_cvtepi64_ps _mm256_maskz_cvtepi64_ps
_mm256_cvtepu64_ps _mm256_mask_cvtepu64_ps _mm256_maskz_cvtepu64_ps

avx512bwintrin.h
_mm512_mask_cvtepi8_epi16 _mm512_maskz_cvtepi8_epi16
_mm512_mask_cvtepu8_epi16 _mm512_maskz_cvtepu8_epi16

avx512vlbwintrin.h
_mm_cvtepi16_epi8 _mm_mask_cvtepi16_epi8 _mm_maskz_cvtepi16_epi8
_mm256_cvtepi16_epi8 _mm256_mask_cvtepi16_epi8 _mm256_maskz_cvtepi16_epi8

avx512vlfp16intrin.h
_mm_cvtepi16_ph _mm_mask_cvtepi16_ph _mm_maskz_cvtepi16_ph
_mm_cvtepu16_ph _mm_mask_cvtepu16_ph _mm_maskz_cvtepu16_ph
_mm256_cvtepi16_ph _mm256_mask_cvtepi16_ph _mm256_maskz_cvtepi16_ph
_mm256_cvtepu16_ph _mm256_mask_cvtepu16_ph _mm256_maskz_cvtepu16_ph
_mm256_cvtepi32_ph _mm256_mask_cvtepi32_ph _mm256_maskz_cvtepi32_ph
_mm256_cvtepu32_ph _mm256_mask_cvtepu32_ph _mm256_maskz_cvtepu32_ph
```
I may have missed a few others :/
</pre>
<img width="1" height="1" alt="" src="http://email.email.llvm.org/o/eJx8WF2v2jgQ_TXmxeoVceJceMgD7RXaat92papvyEkMcWtiNrahN79-BSHgjzESVcUZz5njk3juYKa1OPScV4h-RfRjwazp1FD98_e_4qj6Ra3az2qrpFQXe8JGYUTyjF7_IfINm45rjtnAMZPy-g0P_MhEL_oDFr0ZRK9Fo_F33LAeS9Uww7HpmMG_rDb4MrAT3u1qK6QR_a5R_ZkP5swbowZEts-I7ux-L_kUwaxvb3w1x5xpIT-x1bzFoseN6rXhf04DvgjTYW2FYbXk2HBtcKPOfGAHjpab66dc3j_LDTv_mcS-dWi52R2PhJa75mz4SeRkd2ohUHvgSU_LJjKakb1PSDPi5uI7dGT6dwof42IPFptgifHRDUBa2oSWNqXlEZghqVIsUwTSDqyP8REKzFCi6hyZnsUz5_aAwuUROEbo7TtY6w57hZzdr3Y3CyAX76F0Wlkk08oCTMvKdLk59iIRLjjHwMScpBPnWMIbm_bGvvDGpr2xL7yxL7yxr7yxL7yxr7yxL7yxvjdTszhLv1uAZzE-iPBiDS6-n_3wRIHnLz58UbKGkqPKNmiU0LZmHNgZkKJTKTro0TYqkMKBjfosOsECaXns2HXsfh5WOH5aHuwfnxVAkZUwh4OPQcBjKQtQSAiPPg5QxEIifAwCAMt0JmMWBx-DAPCneJYevy5hBDQ45Jq2AJL5IdjpJ53jasAGREDLQy5QGhSCvQ_pJptBOj8EPIRH72r_S006ZQHPBRE-uoFwWkiwxPjoBvzuGmoMhYDqUtLC-qAoUJFfOWyhAehW1lHlqP-CydZJ9h4-1BljHNj8szMmWGIccMHXAvTXGAfs8LVAXTrF8vDl8Y7Ul_gtDqey6YiBU9l8wqCBBUyzzzTnPQ1VeHNY1LVD2B_bohbiLA_MBiIxlyNzf8rKlNBTB8h0wNFFvdcaSrZgsnWSvf1NS-Pd-Tgg4fkqJVhi_KWW6xQAaYlwd4SJtCRYYtwdPrrgt-13fGSfuGNnjo9CX38nM7znF6xMxweNUb5BZLtoq7xd52u24FX2Tmm5fi_es0VX5QVjvG2Kdb0ua9qyjLOatOS9yfL9Oqd0ISqyJHS5IsssL4p8-Zavm4blRbOuG05XrEXFkh-ZkG9Sno9vajgshNaWVxktaL5eSFZzqW93D4QclGrxXgza4NsiRAgi3xAhNWt-875F-ebnqnygjWT9AeWbjrOWD_qJz7cAV4R-LIbqWvtLbQ8aFUsptNFPNUYYebv7-OvOQj8Q_XotQz_wRkp1wZsfPxHZbn78pBnBB97zQTR4uqzQQvXuRYdRuObxdcTCDrLqjDnpyW9EtgdhOlu_NeqIyPaq5v7fl9OgfvHGILK9eaAR2d69Olfk_wAAAP__UdYs8A">