<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/79861>79861</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
wrong code at -O3 on x86_64-linux-gnu
</td>
</tr>
<tr>
<th>Labels</th>
<td>
new issue
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
zhendongsu
</td>
</tr>
</table>
<pre>
It appears to be a recent regression as it doesn't reproduce with 17.0.1.
Compiler Explorer: https://godbolt.org/z/W5WEb7Eev
```
[642] % clangtk -v
clang version 19.0.0git (https://github.com/llvm/llvm-project.git febb4c42b192ed7c88c17f91cb903a59acf20baf)
Target: x86_64-unknown-linux-gnu
Thread model: posix
InstalledDir: /local/suz-local/opfuzz/bin
Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/10
Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/11
Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/9
Selected GCC installation: /usr/lib/gcc/x86_64-linux-gnu/11
Candidate multilib: .;@m64
Selected multilib: .;@m64
[643] %
[643] % clangtk -O2 small.c; ./a.out
[644] %
[644] % clangtk -O3 small.c
[645] % ./a.out
Aborted
[646] %
[646] % cat small.c
short a, e;
int b[2][5] = {{0, 0, 3, 0, 0}, {0, 0, 0, 0, 0}}, c, d, *f, *g;
short h(short j) { return j ? a % j : 0; }
void k() {
int **l = &f;
for (int i = 0; i < 2; i++)
g = &c;
d = 2;
for (; d; d--) {
*l = g;
**l = 0;
for (e = 0; e < 2; e++) {
h(d);
b[e][d + 2] = 0;
if (d)
*l = 0;
}
}
}
int main() {
k();
if (b[0][2] != 3)
__builtin_abort();
return 0;
}
```
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJy0VUtv4zgM_jXKhYgh06_4kEMe9WJOe9gF5ljIFuOoVaRAlttuf_1Cct4tFlhgBjBkWiQ_fiRlUQyD6g3RkhVrVmxnYvR765afezLSmn4YZ62V_yx_eBDHIwk3gLfQEghw1JHx4Kh3NAzKGhADKA_S0mAYVkF1dFaOHcG78ntIq4QnaQKMbxlfTevGHo5Kk4Onj6O2jhzLVrD3_jiwbMWwYdj0VrZW-8S6nmHzybD5Wfx8aqsnertFYiU_PdNnsS5zZMUWGBbQaWF6_wrzk0v8hjdykXdaJzzhvfLAcPEQXPn92CadPTBstH47v-ZHZ1-o80nw2lHb5l2ObVojyapbLLq02tVp19Y8E0Utuh3yVuwY1lP4v4XryYdUPxblc5nPR_Nq7LuZa2XGj3lvxpPd3pGQcLCSdLA-2kF9TKofZvBCa5JbFWsWeNlOaIbNMH7Oz7I97sbPULNWmcmxsaOR0AkjlRSe4I_NBtQEJryy5gQ2Di5AqjYUoesYNieqV4rYpPw3YKa_HvNU9r9IU-dJ_hJ-mwuzw6i9Cl7ZChKWrVnOD2X-EPK_jOJZzc5n9bu9y_n9E2E4CK2TjmVrSBg2IrGjv_HJv8HJv-JkF5yrWXE2e8BdtdZ5kjeW5TdBLnud8Pfgw946D4LhBiikHjeV8dCyYh3-UVasp9jZFli1ZtWaB-O4ZBeJs2ob3ndqfq-eLLqwyGiLq93p3V9CT3z2DBeT9MKwDqjgyI_OwAuwrAERkwnyCniodgCP_m9WSXhluDj5TbsAISWGK4YrPaWC5e4SFGBnXbhggpWK-ogaxA1gFBmu41OfXQD6M1J3gyTjJn7FDigyLvP5AzmAC6_-xhHuGPOr5oRIV6Z0ZUoXpvchIFZVhgyyu-3QaZo6LYHhGvDc75uQagdn7xvXG-L8nvi5HzfiRQhVPghlvnbp1LjHsIEhnxiexkYaQmZ3bJ6f21Fpr8yzCP_EI9L5AF15Xomdx9NMLjNZZ7WY0TKteFnkFWbFbL-UZYtZvsi5wBKpbDnPJC-LKs34gi-IZmqJHHOeYp2WRVYUiRRdVYgCC6oxy_KS5ZwOQukkTKgwL2dqGEZaVvWiTGdatKSHOOcRDb1DVDIM2c7cMk61duwHlnOtBj9cUbzympbvzpoeOisJhI83iDXweEHORqeX_2-EMmwik4FhE5n-GwAA__8pw1fM">