https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70138
--- Comment #12 from Bernd Schmidt <bernds at gcc dot gnu.org> --- I arrived at the same conclusion, and I was testing the following: Index: gcc/tree-vect-loop-manip.c =================================================================== --- gcc/tree-vect-loop-manip.c (revision 234025) +++ gcc/tree-vect-loop-manip.c (working copy) @@ -1692,7 +1692,8 @@ vect_update_ivs_after_vectorizer (loop_v /* Skip reduction phis. */ stmt_info = vinfo_for_stmt (phi); - if (STMT_VINFO_DEF_TYPE (stmt_info) == vect_reduction_def) + if (STMT_VINFO_DEF_TYPE (stmt_info) == vect_reduction_def + || STMT_VINFO_DEF_TYPE (stmt_info) == vect_double_reduction_def) { if (dump_enabled_p ()) dump_printf_loc (MSG_MISSED_OPTIMIZATION, vect_location,