aboutsummaryrefslogtreecommitdiff
path: root/riscv/insns/vmsof_m.h
diff options
context:
space:
mode:
authorChih-Min Chao <chihmin.chao@sifive.com>2020-02-10 23:53:39 -0800
committerChih-Min Chao <chihmin.chao@sifive.com>2020-02-14 01:49:12 -0800
commit76a5262667ecece7df35c10ef670de4af0e3a481 (patch)
tree8f8cbd4dac7d10a92454873eadbf15ffa3adf307 /riscv/insns/vmsof_m.h
parent169dfe7cebcec8a7200fc9c26bbbbaf1ab1a8081 (diff)
downloadspike-76a5262667ecece7df35c10ef670de4af0e3a481.zip
spike-76a5262667ecece7df35c10ef670de4af0e3a481.tar.gz
spike-76a5262667ecece7df35c10ef670de4af0e3a481.tar.bz2
rvv: vms[bio]f.m need to start from 0
Signed-off-by: Chih-Min Chao <chihmin.chao@sifive.com>
Diffstat (limited to 'riscv/insns/vmsof_m.h')
-rw-r--r--riscv/insns/vmsof_m.h3
1 files changed, 1 insertions, 2 deletions
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;