https://gcc.gnu.org/bugzilla/show_bug.cgi?id=77895
Richard Biener <rguenth at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |RESOLVED Resolution|--- |INVALID --- Comment #1 from Richard Biener <rguenth at gcc dot gnu.org> --- *((unsigned int*)dst) = *((unsigned int*)src); this requires dst and src to be aligned as 'unsigned int'. Thus vectorization will peel until it reaches alignment (which it can't for your 1-byte aligned src/dst).