https://gcc.gnu.org/bugzilla/show_bug.cgi?id=86209
--- Comment #6 from Richard Biener <rguenth at gcc dot gnu.org> --- Since you are trying to combine loads you may run afoul of STLF issues on modern CPU architectures which generally cannot forward from separate stores to a larger load. Not sure if that applies to ARM but I would be surprised if at least high-performance cores do not have store-to-load forwarding capabilities. Merging stores is generally fine (well, x86 knowledge only...) since forwarding from larger stores to smaller loads can work.