https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97875
--- Comment #4 from Christophe Lyon <clyon at gcc dot gnu.org> --- In both cases (Neon and MVE), DR_TARGET_ALIGNMENT is 8, so the decision to emit a useless loop tail comes from elsewhere. And yes, MVE vldrw.32 and vstrw.32 share the same alignment properties.