https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110310
--- Comment #2 from avieira at gcc dot gnu.org --- I can't remember the exact reason either, though I do vaguely remember niter updating being something that we felt 'needed more future work' at the time. Just a side question, AVX512 has predication right? So how come you are expecting an epilogue? I'm also curious about the condition on that snippet of code, 'known_eq (vf, lowest_vf)' seems odd.. lowest_vf is by definition constant, so known_eq only succeeds if vf is constant and the same as lowest_vf, but lowest_vf is the constant lower bound of vf, i.e. that seems like a very convoluted way of doing vf.is_constant (&lowest_vf)? Maybe this helper function wasn't around back then. Either way, it feels like we shouldn't be doing this if loop_vinfo is predicated? But I also agree that we probably want to be doing all of this during analysis, seems odd to be ruling out loop_vinfo's during transformation.