/* { dg-do compile } */ /* { dg-require-effective-target vect_double } */ /* { dg-additional-options "-mavx" { target avx } } */ double x[10], y[6], z[4]; void foo () { x[0] = y[0]; x[1] = y[1]; x[2] = y[2]; x[3] = y[3]; x[4] = y[4]; x[5] = y[5]; x[6] = z[0] + 1.; x[7] = z[1] + 1.; x[8] = z[2] + 1.; x[9] = z[3] + 1.; } /* We want to have the store group split into 4, 2, 4 when using 32byte vectors. Unfortunately it does not work when 64-byte vectors are available. */ /* { dg-final { scan-tree-dump-not "from scalars" "slp2" { xfail amdgcn-*-* } } } */