<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/67596>67596</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
Inline assembly needs to accept RISC-V Vector `vl` register as clobberable for GCC compatibility
</td>
</tr>
<tr>
<th>Labels</th>
<td>
new issue
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
sh1boot
</td>
</tr>
</table>
<pre>
GCC for RISC-V supports a `vl` register in its clobber list, so it knows when the assembly contains `vsetvli` or similar. Clang seems to assume it's clobbered, but since it doesn't accept the name in the clobber list it's not source-level compatible.
https://godbolt.org/z/Ecf3q64qP
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJxsUr1u3DwQfBqqWdxBJvVzKlT4O38K3AUJ4J4_exITipS5qzOcpw-ksx0jSEMWi52ZnRlN5MeI2Iv6P1E_FHrlKeWepjuTEhcmudf-y_kMl5Th2-P38-EJaF2WlJlAg2jKaxBNCRlHT4wZfATPBDYkYzBD8MRCnoESeIafMb0QvEwYgScETYSzCa9gU2TtI-14hHwNfgNNGcjPPuh8hHPQcQRCnAk4bavrjOBZyPaDDd1GZVYG8tFuU3AJKQrZMmhrceGdN-pt9abhs9B3uJgYKK3Z4iHgFQPYNC-avQl4FOWDKO9v78S8kFD3Qg5CDmNyJgU-pjwKOfwScvjfXtRzUz1_LVyvXKc6XWB_13T1qVJVfSqm3l3QnrBVlSobi841WjcOu1qZ1ihnq8L3spSq7GR716lWnY66cSdUujVOOWMuRlQlztqHYwjXeeMuPNGKfdPWXVMEbTDQnq2UEV9gHwopt6hzv-0czDqSqMrNAPqDwp4D9o8x-PgpqIjobv7f3HxrxBNaTvkfbdAf2WgTcC_RVqZ3P33w_FqsOfR_Wel5Ws3RplnIYZP09h2WnH6gZSGH_RASctgP_R0AAP__nrTsbw">