<table border="1" cellspacing="0" cellpadding="8">
    <tr>
        <th>Issue</th>
        <td>
            <a href=https://github.com/llvm/llvm-project/issues/84200>84200</a>
        </td>
    </tr>

    <tr>
        <th>Summary</th>
        <td>
            [RISCV] Miscompile at -O3
        </td>
    </tr>

    <tr>
      <th>Labels</th>
      <td>
            backend:RISC-V,
            miscompilation
      </td>
    </tr>

    <tr>
      <th>Assignees</th>
      <td>
            dtcxzyw
      </td>
    </tr>

    <tr>
      <th>Reporter</th>
      <td>
          dtcxzyw
      </td>
    </tr>
</table>

<pre>
    Reduced test case: https://godbolt.org/z/1sxbE8eco
```
#include <stdint.h>
#include <stdio.h>
int32_t a, f;
uint16_t e = 10;
static uint8_t f1(uint8_t c, uint8_t d) { return d == 0 ? 0 : c % d; }
static uint32_t f2(uint32_t c, uint32_t d) { return d == 0 ? c : 0; }
static int32_t *h(int32_t l) {
  int32_t *n = &a;
  return n;
}
static uint64_t g(int16_t k) {
  uint16_t m[] = {0, 3};
 int32_t *j = h(0);
  *j = f1(f2(1 && m[1], 0), e) == 0;
  return m[f];
}
int main() {
  g(f);
  printf("%d\n", a);
}
```

```
> clang -O0 test.c && ./a.out
0
> clang -O3 test.c --target=riscv64-linux-gnu
> qemu-riscv64 -L /usr/riscv64-linux-gnu/ ./a.out
-10
```

</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJyEVFuvozYQ_jXDiwUyY64PPORykCq1qrSV9vXI2IZ4F8wpNtuz--srO5A9TVKtFCUZz8x3Gcxwa_VglGogPwKidOL9x_d_ABHyc8RXd5mXZjuMull-bz4puQoliVPWEcGtAnYgF-feLLADYAvYDrPs5tEl8zIAtj8A29S-dy-VEjPQM9ADFHT7XENk2ohxlYoAO1kntXHJBdjL_6XnD1ltHMNXRzjgifTAjtfjVRuXFq-O-KYzSektYx13WhBfUL060qeA1R4ID7IHErAmUB7Joty6GCI9kgejBFgbvg9EEMCcSGBHAuX5gSFI63GjCNGNI0S_IBGBhD6D3xEADxfAag_HDfBaSz6WmTAKwILfhkF2XnM7emajyF4dGa4sYapf71hu4578PcrPV6bySL1Z5iFvjB8EfQllXj0FrD-IuuXC0wnzS71wwCIwpJCfPXJowxNRQc42uEdzvqX3LQ8etXFk4toAVneOvNv-v6reFm1cH0oRMJeQn0z4e_K3r35Ev7_nTw_ZCxEjNwOJ_6ThrUrEbjUBbHkyr-5a-qSD7R1x7PgyKAfsvGgrvhVZPGqzvseDWX-2_a2mNd7yJP6dALarXQDbxx5s7-njlD51EMmGyZrVPFJNWtK6zHKWYXRp8owxpH1RVp2oSp5WRZEJ0YtKIuuR95FukGJGGS3SMs1ZnWRpneW9ELRXtZCpgoyqiesxGcdvk98nkbZ2VU2VIaXRyDs12m1zdVx8VUYCO3z67a9T_Pn6YABx0lbM05seudOz2Tbb0njEuFsHCxkdtXX2J4fTbgwL0SN99rf5jx1DEe782KN1GZu7rafdZe0SMU-ArcfafuK3Zf6ihANsg3gL2Ab9_wYAAP__e1yBqw">