<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">