aboutsummaryrefslogtreecommitdiff
path: root/riscv/insns/vmv_s_x.h
diff options
context:
space:
mode:
Diffstat (limited to 'riscv/insns/vmv_s_x.h')
-rw-r--r--riscv/insns/vmv_s_x.h4
1 files changed, 3 insertions, 1 deletions
diff --git a/riscv/insns/vmv_s_x.h b/riscv/insns/vmv_s_x.h
index 948b5be..99db2a0 100644
--- a/riscv/insns/vmv_s_x.h
+++ b/riscv/insns/vmv_s_x.h
@@ -5,7 +5,7 @@ require(P.VU.vsew == e8 || P.VU.vsew == e16 ||
P.VU.vsew == e32 || P.VU.vsew == e64);
reg_t vl = P.VU.vl;
-if (vl > 0) {
+if (vl > 0 && P.VU.vstart < vl) {
reg_t rd_num = insn.rd();
reg_t sew = P.VU.vsew;
@@ -26,3 +26,5 @@ if (vl > 0) {
vl = 0;
}
+
+P.VU.vstart = 0;