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

--- Comment #3 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
Reduced down to just:
```
__attribute__((noipa))
int f(int *a,int *d)
{
  signed char b = *a;
  int c = b;
  *d = c; // This store is important even if otherwise unused
  if (c < 0 && (b&1))
    return 1;
  return 0;
}

int main()
{
  unsigned char t = 0x81;
  int x = t, y;
  int tt = f(&x, &y);
  if (!tt)
    __builtin_abort();
}
```

Reply via email to