There are a variety of cases we can simplify either saving
instructions are creating sequences that are easier to optimize
elsewhere.
(X ^ Y) u> X --> X & MSB(Y) == 0
(X ^ Y) u< X --> X & MSB(Y) != 0
(X ^ Pos_Y) s> X --> X & MSB(Pow2_Y) == 0
(X ^ Pos_Y) s< X --> X & MSB(Pow2_Y) != 0
(X ^ Neg_Y) s> X --> X s< 0
(X ^ Neg_Y) s< X --> X s>= 0