aboutsummaryrefslogtreecommitdiff
path: root/riscv/insns/vrgather_vv.h
diff options
context:
space:
mode:
Diffstat (limited to 'riscv/insns/vrgather_vv.h')
-rw-r--r--riscv/insns/vrgather_vv.h9
1 files changed, 4 insertions, 5 deletions
diff --git a/riscv/insns/vrgather_vv.h b/riscv/insns/vrgather_vv.h
index 822e197..a3a32f5 100644
--- a/riscv/insns/vrgather_vv.h
+++ b/riscv/insns/vrgather_vv.h
@@ -1,10 +1,9 @@
// vrgather.vv vd, vs2, vs1, vm # vd[i] = (vs1[i] >= VLMAX) ? 0 : vs2[vs1[i]];
-require((insn.rd() & (P.VU.vlmul - 1)) == 0);
-require((insn.rs2() & (P.VU.vlmul - 1)) == 0);
-require((insn.rs1() & (P.VU.vlmul - 1)) == 0);
+require_align(insn.rd(), P.VU.vflmul);
+require_align(insn.rs2(), P.VU.vflmul);
+require_align(insn.rs1(), P.VU.vflmul);
require(insn.rd() != insn.rs2() && insn.rd() != insn.rs1());
-if (insn.v_vm() == 0)
- require(insn.rd() != 0);
+require_vm;
VI_LOOP_BASE
switch (sew) {