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

    <tr>
        <th>Summary</th>
        <td>
            [RISCV] Miscompile at -O3 with zbb
        </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>
int8_t d;
int32_t b;
uint64_t c;
int64_t safe_add_func_int64_t_s_s(int64_t si1, int64_t si2)
{
  return ((si1<0) && (si2<0) && (si1 < (INT64_MIN-si2))) ?
    (si1) :
    (si1 + si2);
}
int main() {
  do b = safe_add_func_int64_t_s_s(c, 7 | c);
  while (d);
 printf("%d\n", b);
  return 0;
}
```

```
> gcc -O0 test.c -fsanitize=undefined,address && ./a.out
7
> bin/clang -O3 -march=rv64gc_zbb test.c --target=riscv64-linux-gnu
> qemu-riscv64 -L /usr/riscv64-linux-gnu -cpu rv64,zbb=true ./a.out
0
```

cc @topperc @asb

</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJx8VN-PmzgQ_muGlxGRMyaQPPCwC0Va6dpKvVNfkX9BfEdMDtu7bf76E4Rkt9teJUuxv_F8882XwcJ72ztjStg9wq5ORAzHcSp1UN8u318SOerv5RejozIag_EBlfAG-AOwGtgD5Gxd1yNx69QQtUHglQ_aurA5Av_wf-HxTdS6sG8DauCPd4BTG1DekWhdyLM2oHp7aUG86EwrtG676FS7oq1vPdD-fsdugSp8PRLQYZVWrHyIkwlxcgi0B9rPKbxiQAcEyoFyXED6Fbidu5q3T5_-yrP249OndC2xLATe3GrgmnGFH97DCPR4k3drFIr63jGehHWLwAO-Ua5HlAi8_q0ZaragQCgqVG_5EV-OdjCzAv0Dfp6sC91SjYB2GnaVW7YVyh8JVufYz5rfz8kvQf4Be6Uw_cyWSdsoTDsvnA32YoDX0WnTWWc0UCW0noz3N_s3QI3YjDFcmYpXQjn71KhBuB7TzxzTk5jUEXg9PedZr9qLlPdiaRBTb8IctF4951k6WBe_pb2Lr4T_mlNM1zimfyBQE_0E1PyUg6k6R5zrAFUXKYHXYYrmvVj2G4eUQshYGM9nMy1b4eU1kuiS6wM_iMSU22LLMsYOlCXHUpuOG26KnETOmFJir9hecan1jm2JVGJLYpQxvs1YQcSyTUFFLjvdaaa6Le23kDFzEnbYDMPzaTNOfWK9j6bc77YHlgxCmsEvrwWRFOof4zTwhy9Pf1bp1-tYANHJejWeznYQwY7LtOzqZCpnxlTG3kPGBuuDf60RbBiWR2hm-gq7Gj_eOAyKsPx5LzYc8SJlEqehPIZw9vO3Qw1Q09twjHKjxhNQM5OuP-l5Gv82KgA1SxceqFka-S8AAP__koNnEw">