https://gcc.gnu.org/bugzilla/show_bug.cgi?id=104315
--- Comment #3 from Richard Biener <rguenth at gcc dot gnu.org> --- generalizing the bswap detection to track bits instead of bytes might be a way to handle this (there's the related issue of us failing to "copy propagate" bits with the associated possible simplifications on users of such propagated bits).