[InstCombine] Add transforms for `(icmp {u|s}ge/le (xor X, Y), X)`
If Y is non-zero we can simplify the ge/le -> gt/lt `(X ^ Y_NonZero) u>= X` --> `(X ^ Y_NonZero) u> X` - https://alive2.llvm.org/ce/z/k482NQ `(X ^ Y_NonZero) u<= X` --> `(X ^ Y_NonZero) u< X` - https://alive2.llvm.org/ce/z/TuUDGy `(X ^ Y_NonZero) s>= X` --> `(X ^ Y_NonZero) s> X` - https://alive2.llvm.org/ce/z/vXQypR `(X ^ Y_NonZero) s<= X` --> `(X ^ Y_NonZero) s< X ` - https://alive2.llvm.org/ce/z/fbUq-z Reviewed By: spatel Differential Revision: https://reviews.llvm.org/D144608
Loading
Please sign in to comment