<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/141098>141098</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
[RISC-V] Miscompile on -O3 with -flto
</td>
</tr>
<tr>
<th>Labels</th>
<td>
new issue
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
ewlu
</td>
</tr>
</table>
<pre>
Testcase:
```c
int seed;
int g = 1667522066;
int a = 1;
signed char q[23][23][23];
int main() {
for (int r = 0; r < 23; ++r)
for (int s = 0; s < 23; ++s)
for (int t = 0; t < 23; ++t)
q[r][s][t] = 3;
for (char r = 0; r < 23; r += 4)
for (int s = 0; s < 19; s += 4)
for (int t = 0; t < 23; t += g + 5956943230692729329)
a *= 0 < q[s][t][t];
seed = a;
__builtin_printf("%d\n", seed);
}
```
Commands:
```
# -O3
$ /scratch/ewlu/daily-upstream-build/build-gcv/bin/clang -march=rv64gcv_zvl256b -flto -O3 red.c -o user-config.out -fsigned-char -fno-strict-aliasing -fwrapv
$ QEMU_CPU=rv64,vlen=256,rvv_ta_all_1s=true,rvv_ma_all_1s=true,v=true,vext_spec=v1.0,zve32f=true,zve64f=true timeout --verbose -k 0.1 4 /scratch/ewlu/daily-upstream-build/build-gcv/bin/qemu-riscv64 user-config.out 1
0
# -O2
$ /scratch/ewlu/daily-upstream-build/build-gcv/bin/clang -march=rv64gcv_zvl256b -flto -O2 red.c -o user-config.out -fsigned-char -fno-strict-aliasing -fwrapv
$ QEMU_CPU=rv64,vlen=256,rvv_ta_all_1s=true,rvv_ma_all_1s=true,v=true,vext_spec=v1.0,zve32f=true,zve64f=true timeout --verbose -k 0.1 4 /scratch/ewlu/daily-upstream-build/build-gcv/bin/qemu-riscv64 user-config.out 1
1
```
Bisected to d067014f13871642888afde850cdc558c32f350c as the first bad commit
Found via fuzzer
</pre>
<img width="1" height="1" alt="" src="http://email.email.llvm.org/o/eJzsVUuv6yYX_TU7E-QIb4wfAw-S-LP0Da76vJ1GGHBC60cOYJ_e8-srY5-bk0atKrXqqFKkvdhkLVjsbRDOmcugdQn8CLzaiclfR1vq127aNaP6Uv6onZfCaWAHoAdI6fqTQA9m8MRprYAdt9GFAKtInKYZR6Rpep8R68yaCEsqIq_CkhfgR2TAq6f4ldsLMwDmgAWBbEkS0o6WAObLrA3KFNgxwBNBtmDAI-DRAhaB8EBxd4p7org75YHk7yT_RPIfSSSYsqsXtwYPvAoCbPX1VTocwh94sEGdVSTZ5P_MQ1xs-JHyF234d95lAYQXPC0ShoymBWZYMCweHQoCeAhKQeTl0el72KwuTRKWFVvmfG4m03kznG_WDL4N1UVAroCfhgBPa2thsVIgqz6234Lp4TT2vRiU-11vLhgZib5hASUEsHbSCi-vgPXS2oC1Eqb7Ek03560WfbTsRwHWIUYXOS94abtadmK4kKgXVl6BVXZOk4ucz29zhzxtSNR2flzWIlarvSTRSCanbSTHoTWX_Th5ErVrw0eh1lE7jJHz1kgfic4IZxb59tWK20y2DX_3v0-fz6dvP2_rAZ7mTg_AKuQp4MnO89mLs-i6c-yAVd5Oekv3z-n5A9S_-rO7aQmsmuM9BTy9zZphe__L26zT5H1MvOl1sBDN2jaj0yT6hdB9TP7mob7ofoqscXJOk6fzioEetgqvdcR_sY74Xx3_yTrGz1_t0TgtvVbEj0TRNKNx0sYsz-I0wTzPRat0zqlUkvNcMmwZp5IIR_xVk9ZY50kjFJFj3xu_KtbjNCgyG0Ha6e1N250qmSpYIXa6jLMkK1icxvHuWsYotaSsaeKMipxTniWqoSqnKmZciWZnSqTIKUeMU8ZYvE-ajKZt0uaKIk-4hoTqXphu33Vzvx_tZWecm3QZJzEt8l0nGt258JgiDvqVhNnlQuPVzpYLKWqmi4OEdsZ5d5fxxnfhFf7-_z-cop-W5-KTcXLsb6bTZBzCFfNq_HXt1N1ku_Lq_S1cflgD1hfjr1Ozl2MPWC-6W4hudvxZSw9Yh904wHrb7lzibwEAAP__JPdXqg">