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

--- Comment #2 from yuki.tanaka at defaultcase dot de ---
Another way to trigger it:
https://godbolt.org/z/9YoW11nd9

void a(int *c, signed char *x, long long *y, int *r, long long *s, int n)
{
  for (int i = 0; i < n; i++)
    {
      long long u = y[i];
      signed char xi = x[i];
      if (c[i])
        {
          r[i] = __builtin_sub_overflow_p(u, xi, (short) 0);
          u = (u * 3 ^ u * 3 >> 7) * 5 + 11;
        }
      else
        {
          r[i] = __builtin_sub_overflow_p(u, -40000, (short) 0);
          u = (u * 7 ^ u * 7 >> 5) * 9 + 13;
        }
      s[i] = u;
    }
}

Reply via email to