https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94086
Richard Biener <rguenth at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Ever confirmed|0 |1 Status|UNCONFIRMED |NEW Last reconfirmed| |2020-03-09 --- Comment #2 from Richard Biener <rguenth at gcc dot gnu.org> --- Confirmed. This is another task for a combined bswap/store-merging where the bswap tracking would need to be extended to cover bits. Also part of the reason for the missed optimization is that on GIMPLE we think 'half' is memory but in reality it is in a register.