[InstCombine] Fold ((C1-zext(X)) & C2) -> zext((C1-X) & C2)

This is valid if C2 fits within the bitwidth of X thanks to two's
complement modulo arithmetic.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@292179 91177308-0d34-0410-b5e6-96231b3b80d8
2 files changed