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.

Reply via email to