<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/128528>128528</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 3333 at -O0/1 and -2147483648 at -O2/3:
```c
int printf(const char *, ...);
int a, b, c;
long double d;
int f(int g, int i) {
int e = g + i;
e++;
return e;
}
int j() {
int h = -1;
if (b)
return h;
return 0;
}
void k(int g) { a = -66 + g - 38; }
int main() {
int l, m = j();
l = f(m + 34, m + 80) + m - 112 + m;
k(l + 38 - 37 + 38);
d = 4 + a - -66;
a = c = d * 4.16666666666666666019e02;
printf("%d\n", c);
}
```
Compiler Explorer: https://godbolt.org/z/TnK1bWcGd
Bisected to https://github.com/llvm/llvm-project/commit/15a7de697ae5ad88fd96ef7dc39ac479cc6e2eaf, which was committed by @goldsteinn
</pre>
<img width="1" height="1" alt="" src="http://email.email.llvm.org/o/eJyUVE2P4zYM_TX0hUggUf48-JBMmh6KopcFepYl2dZWtgJLme321xeSk5lB0EsDwaZJvqdHipEMwU6rMT1UZ6guhbzH2W-9kpu2k1w5Y20xeP2z_zbbgMprg7fNrjGgEEKgjHj4gwFdOcpV44F42ZStqMt2DxHQVYA4AcurZvtSwE52jTvVCNQqv4aIapYbAp2A3vB4PAJ1IM6PVJmcQ3qo3en8OqH298EZ1J95iS29p5SaDAvUITQpjtlhEMQFJwQ6o92BiAbonNbjczPxvq1o9m9oLg_270DtK9-c-Q78ibUjArVDUs9OT6b5hZl9ZX73VuNfn8IzP8qdt66z0gkPKFoQZ_xUs0i7_ocgl0pfMvqh97m5y87UoiWTivKRSmdsWeahMy54QM5pt5_QJM_toDZJaR72F3ad2csckHhI0p-hvRaVnzodMZZHXr_8GO8MowfkYzSACKjSUL2t2UwD8Nxzb8XHWO1T9uaXm3Vmw1_-vjm_mQ3ECecYbyENIl2BrpPXg3fx6LcJ6PoP0PXb-hsf_lS_6p3jbINR0WiM_hVq43wfjsovQFfn3p-vw23z342KQFfll8Umg1ey0abuGmkqqdt21F1txkYr0UlVNp1StSEjx1TUj9mqGX_I9CdL8LT58BOhZJN3OkRj1xUL3QvdiU4WpudNyUpOQrTF3HNdyrrspKwlr5kax6Yau0o0WjRDLaQubE-MKkZU8qoi3h7LZqiG0QxExiiqayiZWaR1x1RMakxhQ7ibnlNbUVs4ORgX8i1BpJxcp3QY1aXY-lz9cJ8ClMzZEMMnRbTR5atlR1QX_N0Glc9HRuvXL5dEcd9c_79bnTWG1Opd5ntP_wYAAP__pn9UOA">