http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37150
Richard Biener <rguenth at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |ASSIGNED AssignedTo|unassigned at gcc dot |rguenth at gcc dot gnu.org |gnu.org | Summary|vectorizer misses some |basic-block vectorization |loops |misses some unrolled loops --- Comment #14 from Richard Biener <rguenth at gcc dot gnu.org> 2013-03-27 12:26:40 UTC --- Confirmed - this should be handled by BB vectorization. t.f90:1: note: === vect_analyze_slp === t.f90:1: note: Failed to SLP the basic block. t.f90:1: note: not vectorized: failed to find SLP opportunities in basic block. a smaller, but still sensible, testcase would be appreciated. For now BB analysis stops at coef_x = {}; because it cannot find a vector type for it. If we fix that we end up with t.f90:1: note: === vect_slp_analyze_data_ref_dependences === t.f90:1: note: can't determine dependence between coef_x[_2719] and coef_x t.f90:1: note: not vectorized: unhandled data dependence in basic block. because dependence analysis appearantly does not handle. If we fix that we end up with t.f90:1: note: can't determine dependence between coef_x[_2719] and coef_x[0] t.f90:1: note: not vectorized: unhandled data dependence in basic block. so the issue boils down to the fact that we first do all dependence checks rather than look for SLP opportunities and only check dependences within the basic-block region the SLP tree covers.