https://gcc.gnu.org/bugzilla/show_bug.cgi?id=125399
--- Comment #1 from Drea Pinski <pinskia at gcc dot gnu.org> ---
(for bswap (BSWAP BITREVERSE)
(simplify
(bswap (bswap @0))
@0)
(simplify
(bswap (bit_not (bswap @0)))
(bit_not @0))
(for bitop (bit_xor bit_ior bit_and)
(simplify
(bswap (bitop:c (bswap @0) @1))
(bitop @0 (bswap @1))))
(for cmp (eq ne)
(simplify
(cmp (bswap@2 @0) (bswap @1))
(with { tree ctype = TREE_TYPE (@2); }
(cmp (convert:ctype @0) (convert:ctype @1))))
(simplify
(cmp (bswap @0) INTEGER_CST@1)
(with { tree ctype = TREE_TYPE (@1); }
(cmp (convert:ctype @0) (bswap! @1))))))