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