[Bug testsuite/96109] gcc.dg/vect/slp-47.c etc. FAIL

rguenth at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Wed Jul 8 09:41:43 GMT 2020


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

--- Comment #3 from Richard Biener <rguenth at gcc dot gnu.org> ---
OK, it's indeed wrong which means we'd fall through the checks that prevent
SPARC from vectorizing here but then we'll create an unaligned access
anyway (because VMAT_STRIDED_SLP is too lazy to figure out appropriate
alignment).  We're also assuming element alignment there.

static double x[1024], y[1024];

void __attribute__((noipa))
foo ()
{
  for (int i = 0; i < 511; ++i)
    {
      x[2*i] = y[1022 - 2*i - 1];
      x[2*i+1] = y[1022 - 2*i];
    }
}

int main()
{
  for (int i = 0; i < 1024; ++i)
    x[i] = 0, y[i] = i;
  foo ();
  for (int i = 0; i < 1022; ++i)
    if (x[i] != y[1022 - (i^1)])
      __builtin_abort ();
  if (x[1022] != 0 || x[1023] != 0)
    __builtin_abort ();
  return 0;
}


More information about the Gcc-bugs mailing list