[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