[clang] [llvm] [RISCV] Update Zvzip support to v0.3 (PR #210603)

Pengcheng Wang via cfe-commits cfe-commits at lists.llvm.org
Mon Sep 7 00:28:32 PDT 2026


================
@@ -15,20 +15,22 @@
 // Instructions
 //===----------------------------------------------------------------------===//
 
-let Predicates = [HasStdExtZvzip], Constraints = "@earlyclobber $vd",
-    ElementsDependOn = EltDepsNone in {
-  let VS1VS2Constraint = WidenV, ReadsPastVL = 1 in
-  def VZIP_VV : VALUVV<0b111110, OPMVV, "vzip.vv">;
-
-  let VS1VS2Constraint = VS2Constraint, ReadsPastVL = 1 in {
-    def VUNZIPE_V : VALUVs2<0b010010, 0b01011, OPMVV, "vunzipe.v">;
-    def VUNZIPO_V : VALUVs2<0b010010, 0b01111, OPMVV, "vunzipo.v">;
+let Predicates = [HasStdExtZvzip] in {
+  let Constraints = "@earlyclobber $vd" in {
+    let VS1VS2Constraint = WidenV in
+    def VZIP_VV : VALUVV<0b111110, OPMVV, "vzip.vv">;
   }
 
-  let VS1VS2Constraint = Vrgather in {
-    def VPAIRE_VV : VALUVV<0b001111, OPIVV, "vpaire.vv">;
-    let ReadsPastVL = 1 in
-    def VPAIRO_VV : VALUVV<0b001111, OPMVV, "vpairo.vv">;
+  let ReadsPastVL = 1 in {
+    def VUNZIPE_V : VALUVs2NoVm<0b010010, 0b01011, OPMVV, "vunzipe.v">;
+    def VUNZIPO_V : VALUVs2NoVm<0b010010, 0b01111, OPMVV, "vunzipo.v">;
+  }
+
+  let Constraints = "@earlyclobber $vd" in {
+    let VS1VS2Constraint = Vrgather in {
+      def VPAIRE_VV : VALUVV<0b001111, OPIVV, "vpaire.vv">;
+      def VPAIRO_VV : VALUVV<0b001111, OPMVV, "vpairo.vv">;
+    }
   }
----------------
wangpc-pp wrote:

```suggestion
  let Constraints = "@earlyclobber $vd", VS1VS2Constraint = Vrgather in {
    def VPAIRE_VV : VALUVV<0b001111, OPIVV, "vpaire.vv">;
    def VPAIRO_VV : VALUVV<0b001111, OPMVV, "vpairo.vv">;
  }
```

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


More information about the cfe-commits mailing list