<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/66986>66986</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
Wrong code at -O3 on x86_64 [14 regression since 0d95b20]
</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>
clang at -O3 produced the wrong code.
Bisected to 0d95b20b63d7acc459dc0b2a7b2e4f9924c0adce, which was committed by @xortator
Compiler explorer: https://godbolt.org/z/o9Mdccsfe
```console
% cat a.c
int printf(const char *, ...);
int a, b, c, d, e, g, h;
unsigned int f, i;
long j;
int k() {
if (f < 2)
return d;
g = e / f;
return g;
}
int main() {
i = -1;
for (; i>0; ++i) {
h = 0;
for (; h < 5; h++)
j = 1;
for (; k() + i + j <= 4; j++) {
while (c)
;
for (; b - 5 + h < 6;)
;
}
}
printf("%d\n", a);
}
%
% clang -O2 a.c && ./a.out
0
% clang -O3 a.c && ./a.out
floating point exception
% clang -fsanitize=address,undefined a.c && ./a.out
0
%
```
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJyMVM9v6zYM_mvoCxFDoX8ffKiT-Ta8446DLMm2OkcKJHnte3_9IKd1k3YrBgSKQPL7PpKiyb3Xk1GqhaKD4pzwNczWtX7m9jCv_LDoZLDyZysWbibkAQ8_Mrw6K1ehJIZZ4YuzZkJhpUqBnYE93c5OeyVCjLHIZFMMxIYykxUXIi8aKdhAvBpI5WPTUC4Yl0IBnfBl1mLGF-5R2MtFh0gx_ETI2at1gQfr8F7mZC9XvSiH6vW6WKccZE84h3D1kD0B9UD9ZOVgl5BaNwH1v4B62_wuhfCjumeCkt1-whpvl3cfFSh4QJ6Km0GbgFenTRiB6hgaUMzcIdBTTD9NU6AGsu4jmkf7EA8RDxmPrdQpHvMeu5rtKSRG0Bh9evctscfPD7R_AdVADUL1ZkTUIwLVI0J2QoppvNkRnQqrMyh3BsQJITujQqAexzv7W-i0m6A6f6heuDb_IrxxHY53NGN8KKoh62IZv7F4AeqAOv0JjDhvcHaHfsDPW0HFdr1RPNSG-Lzhj_-F3ztFXcyUug1wipg8-p930se0MA7jEjtUi0-KiA9iD3IDHrDYZG6JlzH0W_je4YfrPmVABFRIKE5mu57iSDVf3weouBva7YM9_KA4ughUApWYAvU8tWu4xbGv4dk34eNiedBmwquNo6BehboGbc0XltFzo4P-pSA7cymd8h7otBqpRh0H_P9k9OmjTGSbySZreKLaY9kUVB-PJSVzy5QYKqkqOWRNfRxEUZYlZSwvhjFjRVMmuiVGGWvoyCoqGaUsr-oqV9VQVVyMaoScqQvXS7osf1_ilki096tqy7Kpy2Thg1r8th6JjHrBzRnfoTgnro2Yw7BOHnK2aB_8B0vQYVHtH_t6fN-eaA2-1uWfZY5QdMccnZpii7Q16LUR6n1fRoXVLe2ndabDvA6psBegPoq9_R2uzj4rEYD6LUUP1G8l_BMAAP__YYiUAA">