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

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

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Keywords|needs-bisection             |
          Component|c                           |target
               Host|                            |x86_64-linux-gnu
            Summary|Wrong code at -O2 on        |[13 Regression] Wrong code
                   |x86_64-linux-gnu            |at -O2 on x86_64-linux-gnu
                   |                            |since
                   |                            |r13-857-gf1652e3343b1ec47
   Target Milestone|---                         |13.0
           Priority|P3                          |P1
                 CC|                            |sayle at gcc dot gnu.org

--- Comment #5 from Martin Liška <marxin at gcc dot gnu.org> ---
Thanks, a bit modified:

cat pr107257.c
int a, b, c;
int d[3];
int e(int f, int g, int k, int l, int m, int n) {
  int h = 4 * f + 2 * (g + l + n) + k + m, j = h >> 4;
  return j;
}
void o(int f) {
  int i = 0;
  for (; i < 3; i++)
    d[i] = 4279432140;
  for (; - 72 + f - -72 <= 2; f++) {
    a = 2;
    for (; a >= 0; a--) {
      b = 2;
      for (; b >= 0; b--) {
        int p = !(d[b] > 0 != e(10, 29, 42, 74, 89, -68) + f - 15);
        if (p)
          break;
      }
      if (f)
        break;
    }
  }
}
void q() {
  int i = 0;
  o(0);
  if (c)
    for (; i < 1;)
      for (; i < 1; i++)
        ;
}
int main() {
  q();
  __builtin_printf("%d\n", b);
  if (b != -1)
    __builtin_abort ();
}

Started with r13-857-gf1652e3343b1ec47.

Reply via email to