Fold the following case on IR InstCombine pass. This patch includes the new test cases for this optimization
bswap(logic_op(x, bswap(y))) -> logic_op(bswap(x), y) bswap(logic_op(bswap(x), y)) -> logic_op(x, bswap(y)) bswap(logic_op(bswap(x), bswap(y))) -> logic_op(x, y) with multi-use
nit, but since we already have the scope for ::bswap case, can you just declare V before the match.