[Bug rtl-optimization/94567] [10 Regression] wrong code at -O2 and -O3 on x86_64-linux-gnu

marxin at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Tue Apr 14 06:41:50 GMT 2020


https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94567

Martin Liška <marxin at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |marxin at gcc dot gnu.org
            Summary|wrong code at -O2 and -O3   |[10 Regression] wrong code
                   |on x86_64-linux-gnu         |at -O2 and -O3 on
                   |                            |x86_64-linux-gnu
      Known to work|                            |9.3.0
      Known to fail|                            |10.0
   Last reconfirmed|                            |2020-04-14
     Ever confirmed|0                           |1
           Priority|P3                          |P1
   Target Milestone|---                         |10.0
             Status|UNCONFIRMED                 |ASSIGNED

--- Comment #1 from Martin Liška <marxin at gcc dot gnu.org> ---
Confirmed, slightly modified test-case:

$ cat pr94567.c
volatile int a = 1, b;
short c, d = 4, e = 53736, f = 2, g;
int(h)(int i, int j) { return i && j ? 0 : i + j; }
int main() {
  for (; a; a = 0) {
    unsigned short k = e;
    g = k >> 3;
    if (h(g < (f || c), b))
      d = 0;
  }
  if (d != 4)
    __builtin_abort();
}


More information about the Gcc-bugs mailing list