https://gcc.gnu.org/bugzilla/show_bug.cgi?id=107910
--- Comment #2 from Richard Biener <rguenth at gcc dot gnu.org> --- (In reply to Andrew Pinski from comment #1) > The problem is an interaction between the SLP vectorizer and store merging. Supposedly store-merging doesn't consider splitting loads/stores to re-merge them. Like with copying struct StructC __attribute__((packed)) { int32_t v00; int32_t v01; int32_t v02; int64_t v03; int32_t v04; };