https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61634
--- Comment #4 from Richard Biener <rguenth at gcc dot gnu.org> --- We have patt_24 = DOT_PROD_EXPR <_12, _12, prephitmp_48>; and _12 = _11 >> 2; is not STMT_VINFO_IN_PATTERN_P but it doesn't have a vec_stmt yet even though it is there: vect__12.29_90 = vect__11.27_87 >> 2; vect__12.29_91 = vect__11.28_89 >> 2; _12 = _11 >> 2; that's because vectorizable_shift doesn't assign to *vec_stmt!? if (slp_node) continue; if (j == 0) STMT_VINFO_VEC_STMT (stmt_info) = *vec_stmt = new_stmt; else STMT_VINFO_RELATED_STMT (prev_stmt_info) = new_stmt; if it's part of an SLP node... (pure_slp). I'm not sure we can vectorize this case.