https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66623
--- Comment #2 from Richard Biener <rguenth at gcc dot gnu.org> ---
It's supposed to handle cases like (vect-outer-fir-big-array.c):
for (k = 0; k < 4; k++) {
for (i = 0; i < N; i++) {
diff = 0;
for (j = k; j < M; j+=4) {
diff += in[j+i]*coeff[j];
}
out[i] += diff;
}
}
where indeed there is no association in the outer loop. So it indeed _is_
about double-reductions only. The current code setup isn't prepared to
detect the situation in question easily (and the patch is too strict).