/* { dg-do compile } */ /* { dg-require-effective-target vect_int } */ void IMB_double_fast_x (int * __restrict__ destf, int * __restrict__ dest, int y, int * __restrict__ p1f) { int i; for (i = y; i > 0; i--) { *dest++ = 0; destf[0] = p1f[0]; destf[1] = p1f[1]; destf[2] = p1f[2]; destf[3] = p1f[3]; destf[4] = p1f[8]; destf[5] = p1f[9]; destf[6] = p1f[10]; destf[7] = p1f[11]; destf += 8; p1f += 12; } } /* { dg-final { scan-tree-dump "vectorized 1 loops" "vect" { target { vect_hw_misalign && vect_perm } } } } */