https://gcc.gnu.org/bugzilla/show_bug.cgi?id=114319
--- Comment #5 from Richard Biener <rguenth at gcc dot gnu.org> --- Coalescing successful! Merged into 1 stores 32 bit bswap implementation found at: _37 looks like we are only merging one store. Note we cannot recognize bswap to memory this is a known issue. So for the bswap64 we need to merge to a 64bit store which we never do on a 32bit platform. We could with SSE, but appearantly we don't try with the bswap trick at least. The bswap trick also doesn't seem to consider the split 64bit bswap. Oddly enough we also fail to merge the other store (maybe missing a val >> 32 pre-shift "trick"). Possibly could be shown to be a similar issue with a 126bit bswap on x86_64 which we could emulate with two 64bit bswaps.