https://gcc.gnu.org/bugzilla/show_bug.cgi?id=95576
--- Comment #4 from Richard Biener <rguenth at gcc dot gnu.org> --- It's also odd vectorization. t.c:14:3: note: Detected interleaving store this_3(D)->D.2378._vptr.S and _1->_vptr.S t.c:14:3: note: Queuing group with duplicate access for fixup t.c:14:3: missed: not consecutive access _6 = _1->s; t.c:14:3: note: Detected interleaving store of size 1 t.c:14:3: note: this_3(D)->D.2378._vptr.S = &MEM <int (*) ()[5]> [(void *)&_ZTV1T + 16B]; t.c:14:3: note: Detected interleaving store of size 1 t.c:14:3: note: _1->_vptr.S = &MEM <int (*) ()[5]> [(void *)&_ZTV1S + 16B]; so we split the group into two of size one and vectorizing with V1DImode. But that's something else to fix I guess.