aboutsummaryrefslogtreecommitdiff
path: root/riscv/insns/vmsof_m.h
diff options
context:
space:
mode:
authorChih-Min Chao <chihmin.chao@sifive.com>2020-05-27 19:33:15 -0700
committerChih-Min Chao <chihmin.chao@sifive.com>2020-05-28 21:49:31 -0700
commit92d41ccbc02ed848d89ae4ed61be42730aa02140 (patch)
tree64522a2c82436d3ce436216012ba395840921e56 /riscv/insns/vmsof_m.h
parent59aa87bd5d638000d4a3ae99b5a4218974ad9e80 (diff)
downloadspike-92d41ccbc02ed848d89ae4ed61be42730aa02140.zip
spike-92d41ccbc02ed848d89ae4ed61be42730aa02140.tar.gz
spike-92d41ccbc02ed848d89ae4ed61be42730aa02140.tar.bz2
rvv: remove vmlen
vmlen has be changed to 1 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.h7
1 files changed, 3 insertions, 4 deletions
diff --git a/riscv/insns/vmsof_m.h b/riscv/insns/vmsof_m.h
index 2481c0b..9fa15dd 100644
--- a/riscv/insns/vmsof_m.h
+++ b/riscv/insns/vmsof_m.h
@@ -10,10 +10,9 @@ reg_t rs2_num = insn.rs2();
bool has_one = false;
for (reg_t i = P.VU.vstart ; i < vl; ++i) {
- const int mlen = P.VU.vmlen;
- const int midx = (mlen * i) / 64;
- const int mpos = (mlen * i) % 64;
- const uint64_t mmask = (UINT64_MAX << (64 - mlen)) >> (64 - mlen - mpos);
+ const int midx = i / 64;
+ const int mpos = i % 64;
+ const uint64_t mmask = UINT64_C(1) << mpos; \
bool vs2_lsb = ((P.VU.elt<uint64_t>(rs2_num, midx ) >> mpos) & 0x1) == 1;
bool do_mask = (P.VU.elt<uint64_t>(0, midx) >> mpos) & 0x1;