<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/149585>149585</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
[AArch64] Bad machine code: Using a killed virtual register
</td>
</tr>
<tr>
<th>Labels</th>
<td>
backend:AArch64,
new issue
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
sjoerdmeijer
</td>
</tr>
</table>
<pre>
A build with expensive checks enabled, and this input:
```
#include <algorithm>
int a;
void c(bool b[][9]) {
for (long d((char)62021 - 7); d; d += 2ULL)
a -= std::max(b[d][d], b[1][1]);
}
```
runs in to this error when compiled with `clang++ -Ofast -mcpu=grace test.cpp`:
```
*** Bad machine code: Using a killed virtual register ***
- function: _Z1cPA9_b
- basic block: %bb.1 vector.body (0xaaaab373d9d0)
- instruction: %41:gpr64all = COPY %82:gpr64sp
- operand 1: %82:gpr64sp
fatal error: error in backend: Found 1 machine code errors.
```
</pre>
<img width="1" height="1" alt="" src="http://email.email.llvm.org/o/eJycU7mO5DYQ_ZpSUugGReoMFKin3dECu8kGdrLg1RJnKFIgqZ7x3xuUery-IgMFFVDHq6dXRR6jmZzWA9QXqK8F39LswxBfvQ5q0eZVh0J49fswotiMVfhu0oz6Y9UumodGOWv5FlE7LqxWQF-QO4VpNhGNW7cEbASyW0OeRkagzDhpN6UR2Au3kw8mzQuwX4CMxiXkwC5Axoc3CiXQTnhvURwUob702dEeoc1ViHcfEGhnvZtQAe2AdnLmAWjfUEJLPGELtAd2QbV_EOgF2BXp9y9fciJjIHI85WBMKpNm48I_8mioL-oYuzv6shMpj1B5MDnoQnv954-SMWwuS4HJH6roEHzA91k7lH5ZjdVPTaEh0nI3ZW70gqevdx4Tnha5bsCuU-BSY9IxneW6ZvT_FvZpeOEKFy5n4zRKrzSwEb9H4ybk-GZsnvowIW3cYtCTiUlnCT8ByHjC--ZkMt7lTkT88Vspv439D7EnBY9GorBevuU80FqIc4kPLZMP53wweSHkg3POBWuZ6hU5lD6hcTGF7U9soHVVAhunNTQVtxbzEl6-fvs1Zzr6mYnr3uxXHfKFlQetf5fceeL2UDmXHHIbh4LLN-3yavHmt4zwN32Ownj-q6CFGpjqWc8LPZRtTbuWdHVZzENXMt7KppT3UohKy06LnrOmUSXRpGpZYQZKaE3asqOEVWV57ioueV01suIVka2GiuiFG3u29rGcfZgKE-Omh7Lq664uLBfaxv1NUvqT-TgGOTcVUAr0BSh1-h33vhypr0UYMtxJbFOEilgTU_w5IJlk92f-iVJf_8-VFFuww5zSGvMF0hvQ22TSvImz9AvQW573dKc1-FctE9DbzjICvT1_8DHQPwIAAP__gdZTOg">