This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug middle-end/37150] basic-block vectorization misses some unrolled loops


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.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]