https://gcc.gnu.org/bugzilla/show_bug.cgi?id=62075
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 #3 from Richard Biener <rguenth at gcc dot gnu.org> --- The issue here is that we have a load group with one stmt feeding a condition. For some reason we think that we can support vectorizing _7 = _4 != 0 with _4 being defined by a pure-SLP def. Which looks odd - the this is clearly not a pure SLP node! Fix: Index: tree-vect-slp.c =================================================================== --- tree-vect-slp.c (revision 213809) +++ tree-vect-slp.c (working copy) @@ -1793,7 +1793,8 @@ vect_detect_hybrid_slp_stmts (slp_tree n && (stmt_vinfo = vinfo_for_stmt (use_stmt)) && !STMT_SLP_TYPE (stmt_vinfo) && (STMT_VINFO_RELEVANT (stmt_vinfo) - || VECTORIZABLE_CYCLE_DEF (STMT_VINFO_DEF_TYPE (stmt_vinfo))) + || VECTORIZABLE_CYCLE_DEF (STMT_VINFO_DEF_TYPE (stmt_vinfo)) + || STMT_VINFO_IN_PATTERN_P (stmt_vinfo)) && !(gimple_code (use_stmt) == GIMPLE_PHI && STMT_VINFO_DEF_TYPE (stmt_vinfo) == vect_reduction_def))