[Bug tree-optimization/91207] New: Wrong code with -O3
vsevolod.livinskij at frtk dot ru
gcc-bugzilla@gcc.gnu.org
Thu Jul 18 23:16:00 GMT 2019
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91207
Bug ID: 91207
Summary: Wrong code with -O3
Product: gcc
Version: 10.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: tree-optimization
Assignee: unassigned at gcc dot gnu.org
Reporter: vsevolod.livinskij at frtk dot ru
Target Milestone: ---
GCC produces wrong code with -O3.
Reproducer:
#include <stdio.h>
long long a;
int b[92][32];
unsigned int c, d;
void e(long long *f, int p2) { *f = p2; }
int main() {
for (int i = 6; i <= 20; d = i++)
for (int j = 6; j <= 91; j++) {
for (int k = 16; k <= 31;k++)
b[j][k] ^= 7;
c *= d;
}
for (int i = 0; i < 21; ++i)
for (int j = 0; j < 32; ++j)
e(&a, b[i][j]);
printf("%llu\n", a);
}
Error:
>$ gcc -O0 repr.c ; ./a.out
7
>$ gcc -O3 repr.c ; ./a.out
0
GCC version is 10.0.0 (Revision: 273580)
More information about the Gcc-bugs
mailing list