[llvm] [RISCV] Combine vmerge_vl allones -> vmv_v_v, vmv_v_v splat(x) -> vmv_v_x (PR #170539)

Pengcheng Wang via llvm-commits llvm-commits at lists.llvm.org
Wed Dec 3 23:23:36 PST 2025


================
@@ -21872,6 +21872,44 @@ SDValue RISCVTargetLowering::PerformDAGCombine(SDNode *N,
       return N->getOperand(0);
     break;
   }
+  case RISCVISD::VMERGE_VL: {
+    // vmerge_vl allones, x, y, passthru, vl -> vmv_v_v passthru, x, vl
----------------
wangpc-pp wrote:

I just realize that for `VMERGE_VL`, `passthru` is not the first operand just like others, why?

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


More information about the llvm-commits mailing list