diff options
-rw-r--r-- | riscv/insns/vmsbf_m.h | 3 | ||||
-rw-r--r-- | riscv/insns/vmsif_m.h | 3 | ||||
-rw-r--r-- | riscv/insns/vmsof_m.h | 3 |
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; |