https://gcc.gnu.org/bugzilla/show_bug.cgi?id=119057

Richard Biener <rguenth at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |ASSIGNED
           Assignee|unassigned at gcc dot gnu.org      |rguenth at gcc dot 
gnu.org

--- Comment #2 from Richard Biener <rguenth at gcc dot gnu.org> ---
slp_for_stmt_info is off (again).  The issue is that SLP discovery for the
2nd LC PHI of the outer loop picks up the inner cycle as well, so we
have a SLP instance pointer that confuses us here when we do

  slp_tree slp_for_stmt_info = slp_node ? slp_node_instance->root : NULL;
  /* For double-reductions we start SLP analysis at the inner loop LC PHI
     which is the def of the outer loop live stmt.  */
  if (STMT_VINFO_DEF_TYPE (reduc_info) == vect_double_reduction_def
      && slp_node)
    slp_for_stmt_info = SLP_TREE_CHILDREN (slp_for_stmt_info)[0];

we'll later likely fail vectorizing this anyway, but still.

I'll ponder how to rectify this w/o breaking --param vect-force-slp=0

Reply via email to