https://gcc.gnu.org/bugzilla/show_bug.cgi?id=83784
Richard Biener <rguenth at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |NEW Last reconfirmed| |2018-01-11 CC| |jakub at gcc dot gnu.org, | |rguenth at gcc dot gnu.org Ever confirmed|0 |1 --- Comment #1 from Richard Biener <rguenth at gcc dot gnu.org> --- Confirmed. I guess it would need "load merging" as opposed to store merging, basically what the bswap pass does but for bitfields. I've always said those two passes need to be merged somehow ;) Anyway, bswap analysis is byte-granular currently and its lattice data structure would have to be beefed up quite considerably (also making operations on it more costly). bitfield lowering would have fixes this bug as well I guess (lowering accesses to use the bitfield representative). There are a few related bugs.