[llvm] [RISCV] Add mask version of vunzipe/o.v (PR #228597)

via llvm-commits llvm-commits at lists.llvm.org
Sat Oct 3 09:59:23 PDT 2026


================
@@ -5930,7 +5930,8 @@ static SDValue lowerZvzipVUNZIP(unsigned Opc, SDValue Op, const SDLoc &DL,
   MVT HalfIntVT = IntVT.getHalfNumVectorElementsVT();
   SDValue VL = getDefaultVLOps(HalfIntVT, ResVT, DL, DAG, Subtarget).second;
   SDValue Passthru = DAG.getUNDEF(ResVT);
-  SDValue Res = DAG.getNode(Opc, DL, ResVT, Op, Passthru, VL);
+  SDValue Res = DAG.getNode(Opc, DL, ResVT, Op, Passthru,
+                            getAllOnesMask(ResVT, VL, DL, DAG), VL);
----------------
renndong wrote:

Can we replace`getAllOnesMask` with the mask returned by`getDefaultVLOps` ? For example:

```cpp
auto [Mask, VL] = getDefaultVLOps(HalfIntVT, ResVT, DL, DAG, Subtarget);
SDValue Passthru = DAG.getUNDEF(ResVT);
SDValue Res =  DAG.getNode(Opc, DL, ResVT, Op, Passthru, Mask, VL);
```

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


More information about the llvm-commits mailing list