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.

Reply via email to