https://gcc.gnu.org/bugzilla/show_bug.cgi?id=120176
--- Comment #2 from Richard Biener <rguenth at gcc dot gnu.org> --- Analysis works now, but SLP discovery eventually fails: t.c:35:23: note: === vect_analyze_slp === t.c:35:23: note: Starting SLP discovery of reduction chain for t.c:35:23: note: _153 = sum.0_77 + _142; t.c:35:23: note: _157 = _137 + _153; t.c:35:23: note: _88 = _132 + _157; t.c:35:23: note: _78 = _88 + _127; t.c:35:23: note: starting SLP discovery for node 0x264fb430 ... t.c:35:23: note: SLP discovery of reduction chain failed because t.c:35:23: note: Build SLP for _63 = tmp[0][i_155]; t.c:35:23: note: Build SLP for _64 = tmp[1][i_155]; t.c:35:23: missed: Build SLP failed: not grouped load _64 = tmp[1][i_155]; t.c:35:23: note: Build SLP for _67 = tmp[2][i_155]; t.c:35:23: missed: Build SLP failed: not grouped load _67 = tmp[2][i_155]; we miss the fact that applying VF == 4 (and exactly VF == 4) makes the tmp[] accesses contiguous.
