https://gcc.gnu.org/bugzilla/show_bug.cgi?id=118466
--- Comment #2 from Andrew Pinski <pinskia at gcc dot gnu.org> --- (In reply to Richard Biener from comment #1) > Hmm, early-break should handle this in theory. It does: > > > ./cc1 -quiet t4.c -O3 -msse4 -fopt-info-vec -fdump-tree-optimized > t4.c:3:24: optimized: loop vectorized using 16 byte vectors > t4.c:3:24: optimized: loop versioned for vectorization because of possible > aliasing > > but the generated code is awful. Plus as I mentioned the bounds check is removed in VRP2 (if not vectorized) so early out actually makes this worse.