https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64191
--- Comment #4 from Richard Biener <rguenth at gcc dot gnu.org> --- (In reply to Jakub Jelinek from comment #2) > I thought we've added handling of gimple_clobber_p in 4.9 - > vect_determine_vectorization_factor / vect_analyze_loop_operations / > vect_transform_loop should ignore and/or remove the clobber. Yeah, but appearantly we miss Index: gcc/tree-vect-stmts.c =================================================================== --- gcc/tree-vect-stmts.c (revision 218479) +++ gcc/tree-vect-stmts.c (working copy) @@ -340,7 +340,8 @@ vect_stmt_relevant_p (gimple stmt, loop_ /* changing memory. */ if (gimple_code (stmt) != GIMPLE_PHI) - if (gimple_vdef (stmt)) + if (gimple_vdef (stmt) + && !gimple_clobber_p (stmt)) { if (dump_enabled_p ()) dump_printf_loc (MSG_NOTE, vect_location, Otherwise we still vectorize an induction (the compute of the address). Still the DCE of the loop is not happening (see proposed patch).