https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70232
--- Comment #10 from Richard Biener <rguenth at gcc dot gnu.org> --- (In reply to Thomas Preud'homme from comment #9) > (In reply to Richard Biener from comment #7) > > The bswap pass could learn to split this up into two loads and bswaps and > > combine the results with a single shift and or. > > I'll add it to the bswap TODO list. Thanks. Actually handles it via builtin_bswap64 already and generic code in optabs.c But somehow bswap64 is still not detected for me on arm (works on x86-64 with -m32).