https://gcc.gnu.org/bugzilla/show_bug.cgi?id=77478
--- Comment #3 from Alexander Monakov <amonakov at gcc dot gnu.org> --- On further investigation, lack of peeling might be intentional, the vectorizer could be deliberately using unaligned access. Previously I missed that the body of the vectorized loop is completely unrolled. If I use -fdisable-tree-cunroll, I get a vectorized loop that is properly using an unaligned load. (is there a way to get alignment info in tree dumps?)