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

    <tr>
        <th>Summary</th>
        <td>
            wrong code at -O1 and above
        </td>
    </tr>

    <tr>
      <th>Labels</th>
      <td>
            new issue
      </td>
    </tr>

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

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

<pre>
    This appears to be a recent regression as 15.0.0 compiles the test correctly.

Compiler Explorer: https://godbolt.org/z/6MG54GarG

```
[554] % clangtk -v
clang version 16.0.0 (https://github.com/llvm/llvm-project.git 0c1f9b3f17bcb0639d5f2684771ef21c9508632c)
Target: x86_64-unknown-linux-gnu
Thread model: posix
InstalledDir: /local/suz-local/opfuzz/bin
Found candidate GCC installation: /usr/lib/gcc/i686-linux-gnu/8
Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/10
Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/11
Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/6
Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/6.5.0
Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/7
Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/7.5.0
Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/8
Selected GCC installation: /usr/lib/gcc/x86_64-linux-gnu/11
Candidate multilib: .;@m64
Selected multilib: .;@m64
[555] % 
[555] % clangtk -O0 small.c; ./a.out
0
[556] % clangtk -O1 small.c
[557] % ./a.out
0
Floating point exception
[558] % cat small.c
int printf(const char *, ...);
int a;
short b = 5, c;
int main() {
  short e = -1;
  unsigned short f;
  char g = 25;
  long h = 0;
  if (a) {
    h = -1;
    g = 0;
  }
  short i = ~g;
  unsigned j = g;
  if (b) {
    f = (h | (i | (583 | j))) ^ ~(~(g & 5L) / e);
    c = 22 / (8UL - (f - 0));
    if (f > 0)
      printf("0\n");
  }
  int k = h % c;
  short l = f ^ 5L;
  if (l)
    a = k;
  return 0;
}
```
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJy1VtFu6ygQ_RrnBcXCOGD7wQ_3Jk210l3tw959XmEb27TEWIDb3H79DjhxnbZaabWt5NjAnDlzGGBIpZtf5c9eWsTHUXBjkdOoEogjI2oxOPh0Rlgr9YC4RQmNcYxRrU-jVALAvUBOWAcjBhyc-hVH-BDhb_N7P-MMujuPShthovQb6p0bLTQicoSn002llYu16aD3Aj_2-z3d3XNzv2aKGL48c5d-p3QX0QOKCEW14kPnHtH2abaGPnoSJshOWNAckfxNZOn6qYphLtBR6un62Y5GP8BcYgAgXCdtUaVtklV1hVlaNLQlLN9lWSJaktQFxTlLSR2RYo79k5tOOD_Pc87-ZrvtNDwO-nnYKjlM5203TBdcbwRv0Ek3Qnn0qK08z6bfBuu4UqI5yJAwr0vXXMHXTi_ba1uP7fTiE1bJYXY86mloUM2HRjbcCXS_3yM5k3EHqbiQTdZ4Sln5JNQg_ShZzlYCyTH_n4SXua8pE_wFnMnnc7IvoIzh2Hw-bfYFlF-j9LKd_hQKzpVoPmXN94uy06Sc9F7AEkfp92iHT2z3JuS_gUI1oddq8tHYUmH-wMieQHZcAwcQkSOP9eRmn3VxYu9dk8X1FZZdYR9TwcGHBEExG7WEYizOtRhDwl4Z8iUQd7cBvMdo4N1C7av14Mt0zw2AoQLuURzHvmpBKhY0X3q218ahCkXpAVGPrm-AJw41h-Tgj6LsMo7Q7CSC0zZZHBCaBiu7AVZhRrQrU1DUBRdCV-NKw6z7MI5Xw7L1hZy_CYwuyJug6EK7do-yw61YGSBRdtd9JPchWLt38at38duZB-4YGN_7hrw2aJ6G5oPPdnhQRO98TJ_B8AahhCH6I9jIEYn1wnj6ek4QCVZwyP_6gba-0cIHX4jXDrNOr-puti8W9LonIkJwRPewkuTWf5Umv9qPIXo_77IVbE6hCtY2TAqm8DZX6iY6D-DHFcoIN5lhtUpL8OXO34gyYSxLizTB6aYp06ZIC75x0ilRPhu_U2q4RxEcAH_KoDAgXuknsZmMKv_bpe8vQ2snYaFB84zRTV-yJkk5yXCW8qqt_OXf4iJnFa9FkVWYbBSvhLIlHEfI5CCeUaDwWaWHjSwJJiRJMEnIjmISJy1NGU3rNGO7omlaqEQCzpOKvQ7_P2hjyiCpmjoLRiWts69GbsPmFCEc8PPJwTKUL70YGsiEnTYhehnU_wN1o9IJ">