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