<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/131465>131465</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
[clang] Miscompilation at -O2/3
</td>
</tr>
<tr>
<th>Labels</th>
<td>
clang
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
cardigan1008
</td>
</tr>
</table>
<pre>
This code prints 80 at `-O2/3` and 0 at `-O0/1`:
```c
int printf(const char *, ...);
int a, b;
void c(char d) { a = d; }
int main() {
int e = 82, f = 20;
for (; 85 + 20 + e - 187 + f; f = 65535 + 20 + e - 65637)
if (b)
e++;
c(e >> 24);
printf("%X\n", a);
}
```
Compiler Explorer: https://godbolt.org/z/6WP1aT6ba
Bisected to https://github.com/llvm/llvm-project/commit/04cd06906288dcb148de37d7c3e6c009c3e3b726, which was committed by @preames
</pre>
<img width="1" height="1" alt="" src="http://email.email.llvm.org/o/eJyUU8uO4zgM_Br6QnQgU5asHHzIo31b7B4a2L3q5VgLxwospXt6vn4gO9MBZk4DCBDDsEqsoqlTCpfZ-w7EEcS50vc8xqWzenHhoueaMVWZ6D67tzEktNF5vC1hzgkVQ50RJHv5m4B6DpKhnh0-0wyor0Ey4Adg65FsOxbYIcx5oxqAlI1zymhHvSDQAeiEu90OaA_8-CjVJWm23-8xOLQFVgAOaI_QHlEj8DM64EeE9vzAXXWYgdSjBtgBsaT9WquosA5rTGwjRxxi6UIVHiUQ6IjE1svjC9aqXeOh_L0hpRD8tzopJG-LgsKIGIZCaZ4JRA90LOfxatFTunoF_orUfInHp0tABCT-A3Ga1_BUXHmUbYq_HN4MP8XrLUx-wddvtykufgF-wDHnWyozoR6ov0Rn4pR3cbkA9d-BevnvP7V-k0ZvHMeQvM3eYY6_QkMe72Zn4xWon6b3n9fLbYn_e5uBehuv11AC1ljH5J5JUspZUzfKed661nIvLWN7yz03Lcki6mMMdsQPXb63Ai-Pm0-Eht0Wr68-YeU67vZ8ryvf1W1DTJIQrBo7I5uWC9Mqqms1eNt6IuYH3ba1aJ03VeiIkWC8FrWqhWA75b2xzhhmROMGy6Fh_qrDtCtKiitVSOnuu5rXjRTVpI2f0rotRHbS86VMQpyrpVulm_slQcOmkHJ6UuSQp3XFNoQ4418h2XU4Ooc4l5V5rFF1X6buj31ee0xl37Y23zv6EQAA___czRN_">