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

--- Comment #14 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
Tried 
__attribute__((noipa)) unsigned long
foo (unsigned long x)
{
  unsigned long y[128], z = 0, w = 0;
  y[127] = x;
  __builtin_memset (&y, 0, 127 * sizeof (long));
  for (unsigned long i = 0; i < 128; i += 2)
    {
      unsigned long a = y[i], b, c, d;
      b = __builtin_subcl (0, a, z, &c);
      z = c;
      if (i >= 64)
        {
          if (i == 64)
            w = c != 0;
          else
            w = (c != 0) | w;
        }
      d = i + 1;
      a = y[d];
      b = __builtin_subcl (0, a, z, &c);
      z = c;
      if (d > 64)
        w = (c != 0) | w;
    }
  return w;
}
but that doesn't reproduce it unfortunately.

Reply via email to