[llvm] [X86] Fold AND(Y, XOR(X, SUB(0, X))) to ANDN(Y, BLSMSK(X)) (PR #128348)

Simon Pilgrim via llvm-commits llvm-commits at lists.llvm.org
Sat Feb 22 07:57:01 PST 2025


================
@@ -51045,6 +51045,31 @@ static SDValue combineBMILogicOp(SDNode *N, SelectionDAG &DAG,
   return SDValue();
 }
 
+/// Fold AND(Y, XOR(X, NEG(X))) -> ANDN(Y, BLSMSK(X)) if BMI is available.
+static SDValue combineAndXorSubWithBMI(SDValue Op, SDValue OtherOp, SDLoc DL,
----------------
RKSimon wrote:

const SDLoc &DL

https://github.com/llvm/llvm-project/pull/128348


More information about the llvm-commits mailing list