https://gcc.gnu.org/bugzilla/show_bug.cgi?id=95172
Bug ID: 95172
Summary: wrong code at -O1 on x86_64-linux-gnu
Product: gcc
Version: unknown
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: tree-optimization
Assignee: unassigned at gcc dot gnu.org
Reporter: qrzhang at gatech dot edu
Target Milestone: ---
Recent regression. Bisection points to g:b6ff3ddecfa93d53867afaaa078f85f
$ gcc-trunk -v
gcc version 11.0.0 20200516 (experimental) [master revision
53b4d52f114:91c1d944166:f5b461d453043c6b6dda50db0439e4c78b241f03] (GCC)
$ gcc-trunk -O1 abc.c ; ./a.out
1
$ gcc-trunk abc.c ; ./a.out
0
$ cat abc.c
int a, d;
int *b = &a;
short c;
int main() {
for (; c <= 4; c--) {
for (; d;)
;
a = 1;
*b = 0;
}
printf("%d\n", a);
}