aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--riscv/insns/vmsbf_m.h3
-rw-r--r--riscv/insns/vmsif_m.h3
-rw-r--r--riscv/insns/vmsof_m.h3
3 files changed, 3 insertions, 6 deletions
diff --git a/riscv/insns/vmsbf_m.h b/riscv/insns/vmsbf_m.h
index fd352ea..356ed2b 100644
--- a/riscv/insns/vmsbf_m.h
+++ b/riscv/insns/vmsbf_m.h
@@ -1,6 +1,7 @@
// vmsbf.m vd, vs2, vm
require(P.VU.vsew >= e8 && P.VU.vsew <= e64);
require_vector;
+require(P.VU.vstart == 0);
reg_t vl = P.VU.vl;
reg_t sew = P.VU.vsew;
reg_t rd_num = insn.rd();
@@ -29,5 +30,3 @@ for (reg_t i = P.VU.vstart; i < vl; ++i) {
vd = (vd & ~mmask) | ((res << mpos) & mmask);
}
}
-
-P.VU.vstart = 0;
diff --git a/riscv/insns/vmsif_m.h b/riscv/insns/vmsif_m.h
index 0896095..366c926 100644
--- a/riscv/insns/vmsif_m.h
+++ b/riscv/insns/vmsif_m.h
@@ -1,6 +1,7 @@
// vmpopc rd, vs2, vm
require(P.VU.vsew >= e8 && P.VU.vsew <= e64);
require_vector;
+require(P.VU.vstart == 0);
reg_t vl = P.VU.vl;
reg_t sew = P.VU.vsew;
reg_t rd_num = insn.rd();
@@ -29,5 +30,3 @@ for (reg_t i = P.VU.vstart ; i < vl; ++i) {
vd = (vd & ~mmask) | ((res << mpos) & mmask);
}
}
-
-P.VU.vstart = 0;
diff --git a/riscv/insns/vmsof_m.h b/riscv/insns/vmsof_m.h
index 26a89f0..2481c0b 100644
--- a/riscv/insns/vmsof_m.h
+++ b/riscv/insns/vmsof_m.h
@@ -1,6 +1,7 @@
// vmsof.m rd, vs2, vm
require(P.VU.vsew >= e8 && P.VU.vsew <= e64);
require_vector;
+require(P.VU.vstart == 0);
reg_t vl = P.VU.vl;
reg_t sew = P.VU.vsew;
reg_t rd_num = insn.rd();
@@ -27,5 +28,3 @@ for (reg_t i = P.VU.vstart ; i < vl; ++i) {
vd = (vd & ~mmask) | ((res << mpos) & mmask);
}
}
-
-P.VU.vstart = 0;