<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/64669>64669</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
Wrong code at -O1 and above on x86_64-linux_gnu since f12a556
</td>
</tr>
<tr>
<th>Labels</th>
<td>
new issue
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
shao-hua-li
</td>
</tr>
</table>
<pre>
This is a recent regression. Clang at -O1 and above produced the wrong code.
Bisected to f12a5561b2cbfae384c9a31293938ee2acea79fd, which was committed by @antoniofrighetto
Compiler explorer: https://godbolt.org/z/q4fsW5Ge7
```console
% cat a.c
int printf(const char *, ...);
long a, e;
int b[72];
int c, g, h;
char d;
int main() {
int *f = &b[25], *i = &c;
d = f != i;
e = a * d;
*f = e + d;
printf("%d\n", b[25]);
}
%
% clang-f12a556 -O0 a.c && ./a.out
1
% clang-f12a556 -O1 a.c && ./a.out
-1
% clang-f12a556 -O2 a.c && ./a.out
-1
%
```
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJyMU02vozgQ_DXNpQUyzVd84JAPZY9zWWmOI2Ma8IrYWWwmb_bXr0wyeXmz2qeRImJ1dVXZpW7lvRktcwvVAapTotYwuaX1k3LptKp0Nknn-h_tn5PxaDwqXFizDbjwuLD3xtkMj7OyI6qA6Zccle1Rde4743Vx_aq5xzAx3hZnR9Su5wzECcT-_j0YzzrEHodDTqqq6rwj3Q2Ki12ppSpykoUsdsykNKtGDj3QEW-T0RPelEftLhcTokT3A6EUygZnjRsWM04cgsNXu6O7XM3MC_LbdXYLL1DscQrh6qHYA52BzqPrOzeHzC0j0PkfoPPf5eC_Vn9w86oEtbj_tLPezfyoUoVaBVSZfvgaG_C6GBsGoF3sDagntSDQPr4jyzIgCcXh3j3HkFQE-FmLCh1Uh4agOn2o6tg4xs_0rG_i_Ye2izIWaAckEZpHHTEiQPsBoTghUB0tqIoWdIyA-QnopxhivxUHBMrjwbxAvEEqUl_88d2DEejwAXrmAkRAVQ_V0W7HI77c5j0daE7PmF_yjtOXPoYH0y_inj7VQDVmQGeVuTXc-_P_p-Wf0NJPePR7vF-mJunbopeFVAm3eS1zKWtZl8nU9l3dqF0vhOBaFyRVUzRFLjoperHLmRLTkqBC7PJSNEJSmeWdZNnkomiavBkGBaXgizJzNs_fL3GME-P9ym1d1rVMZtXx7Ld1J7J8ww2MqVenZGkjJ-3W0UMpZuODf1cJJszcfn3u8X8X3ll829Xf6jKdjV3fvo12RW-s5p-rnazL3P6ybiZMa5dpdwE6R6_HX3pd3F-sA9B5u6EHOm8v-DcAAP__AApPIw">