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

--- Comment #2 from Sam James <sjames at gcc dot gnu.org> ---
Changing it to:
```
int a, b;

int c(int f, int g) {
  for (int d = 0; d <= 4; d++) {
    int e = 1 << f;
    if (g & e)
      return d;
  }
  return 5;
}

int h(int f, int g) {
  if ((c(g - 50, g) + g + g) & 1);
  else if (f)
      a = 1;
  return a;
}

int main() {
  if (h(b + 5, b + 63) != 0)
      __builtin_abort();
  return 0;
}
```

it works at -O3.

Reply via email to