Vectorized since GCC 6. Tested on x86_64-unknown-linux-gnu, applied.
Richard. 2016-06-08 Richard Biener <rguent...@suse.de> * gcc.dg/vect/slp-44.c: New testcase. Index: gcc/testsuite/gcc.dg/vect/slp-44.c =================================================================== --- gcc/testsuite/gcc.dg/vect/slp-44.c (revision 0) +++ gcc/testsuite/gcc.dg/vect/slp-44.c (working copy) @@ -0,0 +1,25 @@ +/* { 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 } } } } */