aboutsummaryrefslogtreecommitdiff
path: root/riscv/insns/vcpop_m.h
diff options
context:
space:
mode:
authorScott Johnson <scott.johnson@arilinc.com>2021-09-29 12:44:24 -0700
committerScott Johnson <scott.johnson@arilinc.com>2021-09-29 14:31:52 -0700
commit72a6f9fac8f3c058d72af54a8554ee6fab2627ec (patch)
treec05152e49d35fadc9337c1ac6708da1b78401190 /riscv/insns/vcpop_m.h
parent347ff31125bee0fadd8e02bbe7a13c672dcf74a5 (diff)
downloadspike-72a6f9fac8f3c058d72af54a8554ee6fab2627ec.zip
spike-72a6f9fac8f3c058d72af54a8554ee6fab2627ec.tar.gz
spike-72a6f9fac8f3c058d72af54a8554ee6fab2627ec.tar.bz2
Convert vstart to csr_t
Adds commit log events for vstart to many vector instructions.
Diffstat (limited to 'riscv/insns/vcpop_m.h')
-rw-r--r--riscv/insns/vcpop_m.h6
1 files changed, 3 insertions, 3 deletions
diff --git a/riscv/insns/vcpop_m.h b/riscv/insns/vcpop_m.h
index c204b2c..fb3e620 100644
--- a/riscv/insns/vcpop_m.h
+++ b/riscv/insns/vcpop_m.h
@@ -5,9 +5,9 @@ reg_t vl = P.VU.vl;
reg_t sew = P.VU.vsew;
reg_t rd_num = insn.rd();
reg_t rs2_num = insn.rs2();
-require(P.VU.vstart == 0);
+require(P.VU.vstart->read() == 0);
reg_t popcount = 0;
-for (reg_t i=P.VU.vstart; i<vl; ++i) {
+for (reg_t i=P.VU.vstart->read(); i<vl; ++i) {
const int midx = i / 32;
const int mpos = i % 32;
@@ -19,5 +19,5 @@ for (reg_t i=P.VU.vstart; i<vl; ++i) {
popcount += (vs2_lsb && do_mask);
}
}
-P.VU.vstart = 0;
+P.VU.vstart->write(0);
WRITE_RD(popcount);