[llvm] [RISCV] Avoid VMNOT by swapping VMERGE operands for mask extensions (PR #126751)

Piotr Fusik via llvm-commits llvm-commits at lists.llvm.org
Wed Feb 19 23:20:45 PST 2025


================
@@ -8965,6 +8965,9 @@ SDValue RISCVTargetLowering::lowerVectorMaskExt(SDValue Op, SelectionDAG &DAG,
   if (VecVT.isScalableVector()) {
     SDValue SplatZero = DAG.getConstant(0, DL, VecVT);
     SDValue SplatTrueVal = DAG.getSignedConstant(ExtTrueVal, DL, VecVT);
+    if (Src.getOpcode() == ISD::XOR &&
+        ISD::isConstantSplatVectorAllOnes(Src.getOperand(1).getNode(), false))
----------------
pfusik wrote:

Default arg omitted, thanks!

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


More information about the llvm-commits mailing list