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).

Reply via email to