/* { dg-do compile } */
/* { dg-require-effective-target vect_double } */

double x[1024], y[1024], z[1024];
void foo (double w)
{
  int i;
  for (i = 0; i < 1023; i+=2)
    {
      z[i] = x[i] + 1;
      z[i+1] = x[i+1] + w;
    }
}
void bar (double w)
{
  int i;
  for (i = 0; i < 1023; i+=2)
    {
      z[i] = x[i] + w;
      z[i+1] = x[i+1] + 1;
    }
}

/* { dg-final { scan-tree-dump-times "vectorizing stmts using SLP" 2 "vect" } } */
/* { dg-final { cleanup-tree-dump "vect" } } */
