https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64716
vekumar at gcc dot gnu.org changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |vekumar at gcc dot gnu.org --- Comment #4 from vekumar at gcc dot gnu.org --- Tried to see if there is improvement when allowing splitting the group stores based at VF boundary. Small improvement noted with slightly older trunk gcc version 7.0.0 20160524 (experimental) (GCC) rectmm.c:520:2: note: Basic block will be vectorized using SLP (Snip) a1-> px = a1->x + lambda*a1->dx; a1-> py = a1->y + lambda*a1->dy; a1-> pz = a1->z + lambda*a1->dz; (Snip) ---SLP dump--- rectmm.c:520:2: note: Detected interleaving load a1_944->xD.4701 and a1_944->yD.4702 rectmm.c:520:2: note: Detected interleaving load a1_944->xD.4701 and a1_944->zD.4703 rectmm.c:520:2: note: Detected interleaving load a1_944->xD.4701 and a1_944->dxD.4721 rectmm.c:520:2: note: Detected interleaving load a1_944->xD.4701 and a1_944->dyD.4722 rectmm.c:520:2: note: Detected interleaving load a1_944->xD.4701 and a1_944->dzD.4723 rectmm.c:520:2: note: Detected interleaving store a1_944->pxD.4728 and a1_944->pyD.4729 rectmm.c:520:2: note: Detected interleaving store a1_944->pxD.4728 and a1_944->pzD.4730 rectmm.c:520:2: note: Split group into 2 and 1 rectmm.c:520:2: note: Basic block will be vectorized using SLP rectmm.c:520:2: note: SLPing BB part rectmm.c:520:2: note: ------>vectorizing SLP node starting from: # VUSE <.MEM_1752> _672 = a1_944->dxD.4721; ---SLP dump---