<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/107981>107981</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
[Clang] Bogous types when using __builtin_shufflevector on bool vectors
</td>
</tr>
<tr>
<th>Labels</th>
<td>
clang
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
philnik777
</td>
</tr>
</table>
<pre>
```c++
using vec __attribute__((ext_vector_type(4))) = bool;
auto test() {
return __builtin_shufflevector(vec{}, vec{}, 0, 1, 2, 3, 4, 5, 6, 7);
}
```
`test()` returns a `__attribute__((__vector_size__(8 * sizeof(bool))))`, which is obviously incorrect.
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJx0ktuOnDAMhp_G3Fg7CuYQuOBid9G8BgohA2mzZJQD2-nTVwFmV5VayfrAQOzf5hfe63lVqoPqDao-EzEs1nX3RZtV_-ScZ6OdHh3U7AgJ9JaC9cBeo9frjJuSOAwiBKfHGNQwADVAjfoVhk3JYN0QHncF1JRA7REIRY-jtQaKs9RBEYPFoHzYS7QI_HyNToXoVhyGMWoT9Dr4Jd5uRh0dgJpNyfQ174He8a-EJeQJlFAklAlVQp3Ak6wvKbw_b55Df6Xf0qBmpyaPAqFm_9jA8Jzf69_HwwaBXjGl9gbU7Bt47uQomtR8LlouqD3acdM2evNAvUrrnJLhgtnUFVNbtCJTXc6paquKV5QtHROSNQ0Tijf5WLFaFayaWsVqKTnJiTLdEaOStTljDWtzuog25zmrmSxFfpsmDiVTH0KbizHbx8W6OdPeR9XljLdNnhkxKuN3pxBJI9YZiJJpXJcOvIxx9lAyo33w3yWCDma31_t-ourxzc42ekyu8Pi5qBUPI_3n56Jdd6_gkfosOtMtIdw9FK9AV6DrrMMSx4u0H0DX1Pm8vNyd_aFkALruk3ig6znM1tGfAAAA__8FwOWt">