aboutsummaryrefslogtreecommitdiff
path: root/riscv/insns
diff options
context:
space:
mode:
authorScott Johnson <scott.johnson@arilinc.com>2021-09-29 14:52:18 -0700
committerScott Johnson <scott.johnson@arilinc.com>2021-09-29 14:52:27 -0700
commit88c1bfce90a12f11ab8bc53659535afe618d7f3b (patch)
tree40429707f4db05d920dafcc92e8b1a083760bf3c /riscv/insns
parent464a7fb56a9152bc16a7ae5e519a3d21781f02a1 (diff)
downloadspike-88c1bfce90a12f11ab8bc53659535afe618d7f3b.zip
spike-88c1bfce90a12f11ab8bc53659535afe618d7f3b.tar.gz
spike-88c1bfce90a12f11ab8bc53659535afe618d7f3b.tar.bz2
Convert vl to csr_t
Adds commit log events for vl to many vector instructions.
Diffstat (limited to 'riscv/insns')
-rw-r--r--riscv/insns/vcpop_m.h2
-rw-r--r--riscv/insns/vfirst_m.h2
-rw-r--r--riscv/insns/vfmv_s_f.h2
-rw-r--r--riscv/insns/vid_v.h4
-rw-r--r--riscv/insns/viota_m.h2
-rw-r--r--riscv/insns/vmsbf_m.h2
-rw-r--r--riscv/insns/vmsif_m.h2
-rw-r--r--riscv/insns/vmsof_m.h2
-rw-r--r--riscv/insns/vmv_s_x.h2
9 files changed, 10 insertions, 10 deletions
diff --git a/riscv/insns/vcpop_m.h b/riscv/insns/vcpop_m.h
index fb3e620..cbe45a4 100644
--- a/riscv/insns/vcpop_m.h
+++ b/riscv/insns/vcpop_m.h
@@ -1,7 +1,7 @@
// vmpopc rd, vs2, vm
require(P.VU.vsew >= e8 && P.VU.vsew <= e64);
require_vector(true);
-reg_t vl = P.VU.vl;
+reg_t vl = P.VU.vl->read();
reg_t sew = P.VU.vsew;
reg_t rd_num = insn.rd();
reg_t rs2_num = insn.rs2();
diff --git a/riscv/insns/vfirst_m.h b/riscv/insns/vfirst_m.h
index 71e8379..5b768ed 100644
--- a/riscv/insns/vfirst_m.h
+++ b/riscv/insns/vfirst_m.h
@@ -1,7 +1,7 @@
// vmfirst rd, vs2
require(P.VU.vsew >= e8 && P.VU.vsew <= e64);
require_vector(true);
-reg_t vl = P.VU.vl;
+reg_t vl = P.VU.vl->read();
reg_t sew = P.VU.vsew;
reg_t rd_num = insn.rd();
reg_t rs2_num = insn.rs2();
diff --git a/riscv/insns/vfmv_s_f.h b/riscv/insns/vfmv_s_f.h
index 116ed45..edc376e 100644
--- a/riscv/insns/vfmv_s_f.h
+++ b/riscv/insns/vfmv_s_f.h
@@ -6,7 +6,7 @@ require((P.VU.vsew == e16 && p->extension_enabled(EXT_ZFH)) ||
(P.VU.vsew == e64 && p->extension_enabled('D')));
require(STATE.frm->read() < 0x5);
-reg_t vl = P.VU.vl;
+reg_t vl = P.VU.vl->read();
if (vl > 0 && P.VU.vstart->read() < vl) {
reg_t rd_num = insn.rd();
diff --git a/riscv/insns/vid_v.h b/riscv/insns/vid_v.h
index 0b5c89c..c316291 100644
--- a/riscv/insns/vid_v.h
+++ b/riscv/insns/vid_v.h
@@ -1,7 +1,7 @@
// vmpopc rd, vs2, vm
require(P.VU.vsew >= e8 && P.VU.vsew <= e64);
require_vector(true);
-reg_t vl = P.VU.vl;
+reg_t vl = P.VU.vl->read();
reg_t sew = P.VU.vsew;
reg_t rd_num = insn.rd();
reg_t rs1_num = insn.rs1();
@@ -9,7 +9,7 @@ reg_t rs2_num = insn.rs2();
require_align(rd_num, P.VU.vflmul);
require_vm;
-for (reg_t i = P.VU.vstart->read() ; i < P.VU.vl; ++i) {
+for (reg_t i = P.VU.vstart->read() ; i < P.VU.vl->read(); ++i) {
VI_LOOP_ELEMENT_SKIP();
switch (sew) {
diff --git a/riscv/insns/viota_m.h b/riscv/insns/viota_m.h
index 68926e4..f74f2c2 100644
--- a/riscv/insns/viota_m.h
+++ b/riscv/insns/viota_m.h
@@ -1,7 +1,7 @@
// vmpopc rd, vs2, vm
require(P.VU.vsew >= e8 && P.VU.vsew <= e64);
require_vector(true);
-reg_t vl = P.VU.vl;
+reg_t vl = P.VU.vl->read();
reg_t sew = P.VU.vsew;
reg_t rd_num = insn.rd();
reg_t rs1_num = insn.rs1();
diff --git a/riscv/insns/vmsbf_m.h b/riscv/insns/vmsbf_m.h
index 9e32531..6147f6d 100644
--- a/riscv/insns/vmsbf_m.h
+++ b/riscv/insns/vmsbf_m.h
@@ -5,7 +5,7 @@ require(P.VU.vstart->read() == 0);
require_vm;
require(insn.rd() != insn.rs2());
-reg_t vl = P.VU.vl;
+reg_t vl = P.VU.vl->read();
reg_t rd_num = insn.rd();
reg_t rs2_num = insn.rs2();
diff --git a/riscv/insns/vmsif_m.h b/riscv/insns/vmsif_m.h
index 8867646..447813f 100644
--- a/riscv/insns/vmsif_m.h
+++ b/riscv/insns/vmsif_m.h
@@ -5,7 +5,7 @@ require(P.VU.vstart->read() == 0);
require_vm;
require(insn.rd() != insn.rs2());
-reg_t vl = P.VU.vl;
+reg_t vl = P.VU.vl->read();
reg_t rd_num = insn.rd();
reg_t rs2_num = insn.rs2();
diff --git a/riscv/insns/vmsof_m.h b/riscv/insns/vmsof_m.h
index a2f247f..b9edcf3 100644
--- a/riscv/insns/vmsof_m.h
+++ b/riscv/insns/vmsof_m.h
@@ -5,7 +5,7 @@ require(P.VU.vstart->read() == 0);
require_vm;
require(insn.rd() != insn.rs2());
-reg_t vl = P.VU.vl;
+reg_t vl = P.VU.vl->read();
reg_t rd_num = insn.rd();
reg_t rs2_num = insn.rs2();
diff --git a/riscv/insns/vmv_s_x.h b/riscv/insns/vmv_s_x.h
index cc2d6f0..b66855b 100644
--- a/riscv/insns/vmv_s_x.h
+++ b/riscv/insns/vmv_s_x.h
@@ -2,7 +2,7 @@
require_vector(true);
require(insn.v_vm() == 1);
require(P.VU.vsew >= e8 && P.VU.vsew <= e64);
-reg_t vl = P.VU.vl;
+reg_t vl = P.VU.vl->read();
if (vl > 0 && P.VU.vstart->read() < vl) {
reg_t rd_num = insn.rd();