summaryrefslogtreecommitdiff
path: root/isa/checker.cpp
diff options
context:
space:
mode:
authorJulian Blake Kongslie2022-10-15 14:30:18 -0700
committerJulian Blake Kongslie2022-10-15 14:30:18 -0700
commitd4de41da0bd70a51aeb26b3d1a8d70bd59b3447e (patch)
tree292c0601791108082460e05d126e694d6164e117 /isa/checker.cpp
parentRestrict SOURCES to visible top-level directories. (diff)
downloadbiggolf-d4de41da0bd70a51aeb26b3d1a8d70bd59b3447e.tar.xz
Add MQ register support.
Diffstat (limited to 'isa/checker.cpp')
-rw-r--r--isa/checker.cpp4
1 files changed, 4 insertions, 0 deletions
diff --git a/isa/checker.cpp b/isa/checker.cpp
index 05b59a9..1919bd1 100644
--- a/isa/checker.cpp
+++ b/isa/checker.cpp
@@ -28,6 +28,8 @@ void checker::execute() {
28 inst.acc = acc; 28 inst.acc = acc;
29 if (inst.need_read_link) 29 if (inst.need_read_link)
30 inst.link = link; 30 inst.link = link;
31 if (inst.need_read_mq)
32 inst.mq = mq;
31 if (inst.read_ctlreg.has_value()) 33 if (inst.read_ctlreg.has_value())
32 inst.ctlval = ctlregs[*inst.read_ctlreg]; 34 inst.ctlval = ctlregs[*inst.read_ctlreg];
33 inst.execute(); 35 inst.execute();
@@ -35,6 +37,8 @@ void checker::execute() {
35 acc = inst.acc.value(); 37 acc = inst.acc.value();
36 if (inst.need_write_link) 38 if (inst.need_write_link)
37 link = inst.link.value(); 39 link = inst.link.value();
40 if (inst.need_write_mq)
41 mq = inst.mq.value();
38 if (inst.write_ctlreg.has_value()) 42 if (inst.write_ctlreg.has_value())
39 ctlregs[*inst.write_ctlreg] = inst.ctlval.value(); 43 ctlregs[*inst.write_ctlreg] = inst.ctlval.value();
40 if (inst.need_exec_store) 44 if (inst.need_exec_store)