<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/84610>84610</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
[RISCV] Miscompile at O3 with rvv
</td>
</tr>
<tr>
<th>Labels</th>
<td>
backend:RISC-V,
miscompilation
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
dtcxzyw
</td>
</tr>
</table>
<pre>
Reduced test case:
```
#include <stdint.h>
#include <stdio.h>
uint32_t a, b;
int16_t c[5];
static int32_t div_func_int32_t_s_s(int32_t si1, int32_t si2)
{
return si1 / si2;
}
static void d() {
uint32_t e = 6;
int8_t f = -79;
for (; a < 3; ++a) {
uint16_t h;
for (h = 1; h <= 4; h++) {
c[h] = div_func_int32_t_s_s(--e | f, 5);
}
}
}
int main() {
int j;
d();
for (j = 0; j < 2; j++)
printf("%d\n", c[3]);
return 0;
}
```
```
> gcc -O0 test.c && ./a.out
-1
-1
> clang -O3 --target=riscv64-linux-gnu -march=rv64gcv test.c
> qemu-riscv64 -L /usr/riscv64-linux-gnu/ -cpu rv64,v=true,vext_spec=v1.0 ./a.out
-1
255
```
LLVM version:
good commit: 881df557501d339c7a14b16d68e43da5c732b424
bad commit: 578e66ac45dfcc5c739f3525bfb82d71282d925c
qemu version: v8.2.1
cc @wangpc-pp @topperc @lukel97
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJx8VF2PqzgM_TXuSwQKDuHjgYdpeyutdK9GuivNaxWSAJnL15LAzN1fvwpl2s52Z6tK2LF97HMwEdaaute6AL4HftyJ2TXDVCgn3__-_bYrB_W7-KnVLLUiTltHpLAa2BPQI9AnSOj2v7jITC_bWWkC7GCdMr0LG2DfvgoPd9HZ9I7h2REBeCAlsP3l3PQuSs6OSOB7Dvx4DVgnnJHko0yZ5VzNvTxvB2d7toDZR9iayOPeXATMt7nSDZGQSbt56n0yATytWR_tID1-6rsMRhEFmAHm5AZxpeFJHklyrSe-d3Z2pFoDQZrfhaphIh6K7Ynw4hDmTcA94F48NlgFae7qrwjNCh75am8evBev3gXsM9b688I2wI9r5RcqBoEmkB5I5TXkXrn73ldp7syrYXpHOmH6B6V84PUOZ9PyUZXXdTLqWbyu4uBqXgndBhkn07tqxUFAroAf-tU8rCyZX59PHbb3TR_f8r9X-z8P2TdSS0mCZ7p-HKEkgAlgQkLAkwiH2V0Sg-jz0xfKVvQ1CZ4ZCQInplo7YMfJWLkkcdCafn4P6n4mQScm2fjQksS1XLZGN5y_dDcHWx0Jvvu9ne0EeHrA8hsdyHEmHgrwsAA7umnW3tTv7mxHLYEdlyikXxFAzv9Hnu_fX36QRU_WDP31jqiHQRE5dJ1xwJ5IlkWq4jzlNFKM5TIVUVxGiUoyHTMluEwZljHGl-JS3NfyNNNJImTMVSWlT80rxpGXVZmhSiPMUOXIN3G8MHfTkCULMYzu55WSQEzfRF-PMhhH77hhHPW0nrfzL93m6SV1pwqmcpaLnS6ilOZ5SqOE75oCc5RJSmmVCc2iskQtJE2l0JzHinPcmQIpxpTRnKYxxnFY8lzEeZqoSmSCCw4x1Z0wbdi2SxcOU70z1s66yOIkortWlLq16_WMWAr5S_cK2NPPP_48BC-X3QbEzlg5dKNphfNsEf1dPhUeMSjn2no6xjp76-GMa9db3yO9-M__xweGJsKRZ0bejGvItCy7eWqLxrnR-peKJ8BTbVwzl6EcOsCTx9wewTgNr1o6wNNKwgKeVh7_BAAA___RzsCh">