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

    <tr>
        <th>Summary</th>
        <td>
            [Headers][X86] Allow AVX2/AVX512 broadcast 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>
    These all wrap generic shuffles:

```
_mm_broadcastb_epi8
_mm_broadcastw_epi16
_mm_broadcastd_epi32
_mm_broadcastq_epi64
_mm_broadcastss_ps
_mm_broadcastsd_pd

_mm256_broadcastb_epi8
_mm256_broadcastw_epi16
_mm256_broadcastd_epi32
_mm256_broadcastq_epi64
_mm256_broadcastss_ps
_mm256_broadcastsd_pd

_mm256_broadcastsi128_si256

_mm512_broadcastb_epi8
_mm512_broadcastw_epi16
_mm512_broadcastd_epi32
_mm512_broadcastq_epi64
_mm512_broadcastss_ps
_mm512_broadcastsd_pd

_mm512_broadcast_f32x2 _mm256_broadcast_f32x2
_mm512_broadcast_i32x2 _mm256_broadcast_i32x2 _mm_broadcast_i32x2
_mm512_broadcast_f32x4 _mm256_broadcast_f32x4
_mm512_broadcast_i32x4 _mm256_broadcast_i32x4
_mm512_broadcast_f32x8
_mm512_broadcast_i32x8
_mm512_broadcast_f64x2 _mm256_broadcast_f64x2
_mm512_broadcast_i64x2 _mm256_broadcast_i64x2
_mm512_broadcast_f64x4
_mm512_broadcast_i64x4
```

(ignore the AVX512 mask/maskz variants for now)

You can use https://github.com/llvm/llvm-project/pull/152305 as reference.
</pre>
<img width="1" height="1" alt="" src="http://email.email.llvm.org/o/eJyUlM-OnDgQh5_GXKxtQYH5c-DQsy200t52o2hyQgYKcMZgYpvpSZ4-Mt3pGXfoQyRLSN-vKH92CbgxYpgRS8KeCDsFfLWj0uV___4vJjUHjeq-l59GNEi5lPSs-UIHnFGLlppx7XuJhsRHEm4rDa8rPNbTVDda8a7lxjY1LiK_p2dHo_Qedw7HcI-_OZwm99iYejG_wa5euotTPU3A0n0VL_BsvMQT8hLPyUs-aPn8sZkREeS1EcDSWwGLYF_dCzx1L_HUvcRT95IP6j731L2o7mN4A3p_ogveqxf79Td8zx7tmezvuXesrdFOvXhU7xrt3fb2xm7Qp8nuLTi822i_Xjyqd432j3YNPn6AbkEuhllppHZEevz8zCKgEzcvBCr3-EFfuRZ8tob2StNZnQkUl1e_qJW2fKarQTpau2wfOVQEqkHYcW0OrZoIVFK-_nr8tWj1FVtLoFpWKQlUEYM4ZJQbqrFHjXOLh6Ar466ICx5gGWUsYVmSZEUwlkkGBcv7hsdZw3NIogz7vksbwLyNWcoCUUIILMzDLIqTjGWHuIjTpMeoZxHnjPckCXHiQh6czUHpIRDGrFhGDJKiCCRvUJrtNwcwKNXRXmhj6VZEAAj8TQAa3r7g3JH4-JynN9pKPg8kPo7IO9TmnavZWHxbtCPsFOhyu4lmHQxJQimMNe82Vli5_Wb_uXZhJ8Ke3DbsRI9SqrMbERCorpO6zZeK2WoxG9EaahVt0I2lo2KmN4Fg1bL840FtZzeXUbk7ei3hZwAAAP__9fkAVg">