https://gcc.gnu.org/bugzilla/show_bug.cgi?id=46006
--- Comment #3 from Richard Biener <rguenth at gcc dot gnu.org> --- So currently we indeed miss the "sinks": t.i:29:6: note: === vect_analyze_data_ref_accesses === t.i:29:6: note: Detected interleaving load MEM[(struct B *)&v] and MEM[(struct B *)&v + 8B] t.i:29:6: note: Detected interleaving load MEM[(struct B *)&v] and MEM[(struct B *)&v + 16B] t.i:29:6: note: Detected interleaving load MEM[(struct B *)&v] and MEM[(struct B *)&v + 24B] t.i:29:6: note: Detected interleaving load MEM[(struct B *)&v] and MEM[(struct B *)&v + 32B] t.i:29:6: note: Detected interleaving load MEM[(struct B *)&v] and MEM[(struct B *)&v + 40B] t.i:29:6: note: Detected interleaving load u_43(D)->c.x and u_43(D)->c.y t.i:29:6: note: Detected interleaving load u_43(D)->c.x and u_43(D)->c.z t.i:29:6: note: Detected interleaving load u_43(D)->c.x and u_43(D)->d t.i:29:6: note: Detected interleaving load of size 6 starting with v$a$x_48 = MEM[(struct B *)&v]; t.i:29:6: note: Detected interleaving load of size 4 starting with _5 = u_43(D)->c.x; t.i:29:6: note: not vectorized: no grouped stores in basic block. two classes of sinks are currently missing: reductions and vector CONSTRUCTORs parts of the testcase might be handled with reduction support.