[llvm] [X86] Fold BLEND(PERMUTE(X), PERMUTE(Y)) -> PERMUTE(BLEND(X, Y)) (PR #90219)

via llvm-commits llvm-commits at lists.llvm.org
Thu May 2 13:02:24 PDT 2024


================
@@ -41754,6 +41754,61 @@ bool X86TargetLowering::SimplifyDemandedVectorEltsForTargetNode(
     KnownUndef = SrcUndef.zextOrTrunc(NumElts);
     break;
   }
+  case X86ISD::BLENDI: {
+    SDValue N0 = Op.getOperand(0);
+    SDValue N1 = Op.getOperand(1);
+    if (VT.getScalarSizeInBits() < 32 || !N0.hasOneUse() || !N1.hasOneUse())
----------------
goldsteinn wrote:

afaict there is nothing about the impl that precludes them.

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


More information about the llvm-commits mailing list