<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/96133>96133</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
[x86] A "vzeroupper" clobber would be nice
</td>
</tr>
<tr>
<th>Labels</th>
<td>
new issue
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
workingjubilee
</td>
</tr>
</table>
<pre>
Some x86 ABIs leave the "high half" of all YMM registers as volatile, while preserving the lower halves of some XMM registers. This nicely coincides with `VZEROUPPER` when appropriate. While perhaps a somewhat unusually-specific clobber, it would be nice if LLVM supported this as a clobber for inline assembly to use.
AArch64 has a similar story with the high and low halves of the V registers.
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJxUks1u2zoQhZ-G2gwiyNSfvdDCuYmBCyS4QW6b_uwoaSROSosCh5TiPn1BOWjTDbkYzDmHH49ipnFCbER5K8q7RAWvrWtW637QNL6Glgxi0tr-0vxvzwhv-wqOt_8yGFQLgtcIQkpNowatzCCkBDuAMga-PT6Cw5HYo2NQDIs1ypNBIf-BVZNBmB0yuoWmcRMydkUXZRbkqMLR8OtHmRQ-aWKYqENzgc7S1FGPDCt5DaLKXr7fP__3-enp_llUGawaJ1Dz7OzsSHlM4cvVFp1WM4PaHFatPIQpcFDGXG54xo4G6qAztm3RxbTkYbXB9NDi5g00wMPDyyNwmGfrPPbgYy4VNd_3YLAOaDI0IShmPLfmAt5CYExFdiey4_U8Hl2nqwL0tsx0JqMcsLfucn1WJLPxVVMfEX0AFEcvH-gkfZP3h_ygEmx29W6_L-qqqhPd5IeyzvctFt1QD3m-U9lw6PO63FdD30tVJtTITBZZJbNsV-yyOh06rKQsyzJvhzJTB1FkeFZkUmOWc2rdmBBzwOZQ7fI8MapFw1uHpJxwhW0opIyVck3cuWnDyKLIDLHnPyqevNnK97avRHkHx1in5Sc6G-Y50pe_gf71BUlwptHezyzyo5AnIU8jeR3atLNnIU_R4P26mZ19xc4LedpisZCna-ylkb8CAAD__1yuARs">