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);
}

Reply via email to