<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/64338>64338</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
Wrong code at -O3 on x86_64-linux_gnu since 3d9a0445cce368b55dc3a573bc91fe902bbb977f
</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 produces the wrong code.
Bisect to 3d9a0445cce368b55dc3a573bc91fe902bbb977f, which was committed by @sjoerdmeijer
Compiler explorer: https://godbolt.org/z/91hj54GrP
```console
% cat a.c
int printf(const char *, ...);
int a, b;
static int *c = &b, *h;
char d;
static char e = -3L;
static char f = -1L;
long g;
int main() {
int i;
*c = 0;
char *j[] = {&f, &f};
d = 0;
for (; d > -10; d = d - 1) {
int *k[3];
i = 0;
for (; i < 3; i++)
k[e + 58 + e + f + *c - 51 + i] = &b;
h = k[2];
*h &= g;
}
printf("%X\n", a);
}
%
% clang -O0 a.c && ./a.out
0
% clang -O3 a.c && ./a.out
SIGSEGV
%
```
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJyMVEuL5DYQ_jXlS2Ejlyy3ffChH9tDILCBhSS3RZbUbU3cVmPJmdn8-iD19GNmQlgwllT11VcPlUp6b4-TMR2IDYhdJpcwuLnzg3T5sMh8tFnv9I9uO8rpiDJg_pXjeXZ6UcZjGAy-zG46onLaFMB2wNaX_8Z6owIGh1y3klWVUMrwuumF0IpLseK9asuDaRn1fd-uVgegLb4MVg34Ij0qdzrZEIzG_gdCxfyzM7M-GftsZnx0tHWnsx3NjOb1PLrZzMDXOIRw9sDXQHug_dHp3o2hcPMRaP8P0L4th2dRPc2_PTJBzS6fcpN3o3mTkkAlA8pCXQR2Cnie7RQOQE2EBlSDnBFoHVMoigKoBb65o2WU9zeRDzJYhVEDtFYIfIdAdR9RQOvhBky0-qNdkppklfNf_1N7uGjLu3aMl3R8F9VJ2gmoAWoRVm9yTFHZGw7vEbIH4TXf50vXXDJYbYDqwyWJ-gCr3YOB_kRxcJGhAb5Jyi-Yl-x62KHGHMsPkeG1Yn-B2HAQj_yI9pOHdz6ieos8bYE26WvvSMRIahBog6JJy-VwSP9UhBxFmU72lnK8tEeHQxJHKnoXX7zViI7a42NxV7vr9tZRQAQk_gSxndJ2G9vn3k83EyDx0KDpeeZfWWzT5IlqLID2snBLuODYZzj_H_i3X56-fXn6_aOz6xvJdMd1y1uZma6sW9auKmIiGzriJWs0r3RlalEq1ba61nXZaMb60kiZ2Y4YcdYwKkvGSRRa61oKVrJ61Shda6iYOUk7FuP49yk-2sx6v5iurjhvslH2ZvRpXhFN5gWTMpZK7LK5izZ5vxw9VGy0Pvg7S7BhNN0ft3l1HWduwtem_l5X-Win5fX7cVrQ20mZnx5d2TKP3YeZY8Ow9IVyJ6B9DOFtyc-zezYqAO1T4B5onxL7NwAA__814Xq-">