<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/64726>64726</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
Wrong code at -O2 on x86_64-linux_gnu since ca68038
</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 -O2 produced the wrong code.
Bisected to ca68038, which was committed by @MaskRay
Compiler explorer: https://godbolt.org/z/5945P8Tvz
```console
% cat a.c
int printf(const char *, ...);
int a, c, d, f, m;
char b;
short e;
long k;
long *g = &k;
static long **h = &g;
int *l;
void s() {
int *n = &c;
**h = 0 != 6;
long **o = &g;
long ***p[] = {&h, &h};
long ***q = &h;
*q = o;
*n = f = 0;
for (; f <= 3; f++) {
int *r[9];
int i = 0;
for (; i < 9; i++)
r[**h + *n + **h - 2+ i] = &d;
l = r[2];
e = 0;
for (; e <= 1; e++)
*n ^= *l;
}
}
int main() {
int i, j;
j = 8;
for (; j; j--)
s();
i = 0;
for (; i < 8; i++)
for (; j < 2; j++) {
m = 0;
for (; m < 1; m++)
printf("%s %ld\n", &b, a ^ 4294967295);
printf("%d\n", m);
}
}
%
% clang-ca68038 -O0 a.c && ./a.out
4294967295
1
4294967295
1
%
% clang-ca68038 -O2 a.c && ./a.out
Segmentation fault
%
```
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJyEVU2PozgQ_TXFpQQixUfgwCFJb26rWe2utMeRAQfcY3AWm-nu-fUrm0AgnZmVkLGryq8ez6aKaS2anvMCkiMkLx4bTauGQrdM-e3IfCm8UtUfxUmyvkFm0P9CeB1UPVa8RtNyfBtU32Clah5A-ALhYRqPQvPK2BiFFUuzMMqATvjWiqrFN6axUl0njI0oPxDi8Hemv_3JPnANclLdVUg-IH-_SjXwAaIDtsZcNUQHoDPQuVF1qaQJ1NAAnX8AnZM8Tv7I_v7-Y40EaTg9leq1kvxmpQQrZpAF1WQQvcHrIHpzAcpsqMGqZQMCHSz7IAiAcoiO92hm7ZUdajtc7NAtEW5zuSx1qwaDfFlLK9237RLo0CBELwiU3l3aMCMqnCOADu0c1Gz4AB3kYviuRI0aKAPKEfY3K-ItsJ8hqmUHbtBDBNrZSboKWHFQnzls_ECH63SxpsD9EShtrUTuvX_56bZ_Z-R2S22yq61x-o7LRPnuuih7cBlER-c7WXfkVkBH92xEWWQZIDnmkKzJTT7xmAFxncS6T5i76ZLhHologRd56XijPk2c0UeyS7EIRmm9ySad2eLQI0H-a3J8VmDnVk_5TXyS36bUq3uEaM9q-mXmiRWkY6J_fruEPeTXFcCro5etLCtyr27w_Q2f271d7fik_yfxs5-Jv07mImnK-_wiIHZP1NygdA7Fidk9FRPvhQSIgBJtBU5kDcmpdxb3F5T2zazqGFMe5-me8mTz2Q8w6_3dVp9nxwSUrGqdreL-rRyj_yW0lc-yAEoxADqzQI1mhlvxcZbd_zg2qT7lol_k-os3He9tiVM9XtgozSPiXL69uojqPMqZx4tdmtNun8RR6rVFHHEWXyjLLumlzuuyzGrO6yTJwrTcxWHuiYJCisJsl4ZZHCVpsOfhhcV1FkU5y3Z5DnHIOyZkIOX3zvYTT2g98iKN95R6kpVcatcmiXr-hs5pzyF58YbC7vHLsdEQh1Joo-8oRhjJi3-WNjl3UdXje5Z-TWNfin58_9r0I2rRV3zul944yOKh2wnTjmVQqQ7obDPcXv51UK-8MkBnx0sDnR3v_wIAAP__rED6Ag">