aboutsummaryrefslogtreecommitdiff
path: root/qtmips_machine/alu.h
diff options
context:
space:
mode:
authorPavel Pisa <pisa@cmp.felk.cvut.cz>2019-01-31 11:02:03 +0100
committerPavel Pisa <pisa@cmp.felk.cvut.cz>2019-01-31 11:02:03 +0100
commiteab6cf4fc5720b330ba89c38e9e6119a8a6fabfa (patch)
treee706c645c9ee51b1a9fcbf15fee6bda870d1cd54 /qtmips_machine/alu.h
parent6a6bd48da1f09be7dc7c53f13393b07889eea364 (diff)
downloadqtmips-eab6cf4fc5720b330ba89c38e9e6119a8a6fabfa.tar.gz
qtmips-eab6cf4fc5720b330ba89c38e9e6119a8a6fabfa.tar.bz2
qtmips-eab6cf4fc5720b330ba89c38e9e6119a8a6fabfa.zip
Initial support for JAL.
The JR, BEQ, BNE are most probably incorrect still. There is missing forwarding for pipelined execution. Signed-off-by: Pavel Pisa <pisa@cmp.felk.cvut.cz>
Diffstat (limited to 'qtmips_machine/alu.h')
-rw-r--r--qtmips_machine/alu.h5
1 files changed, 3 insertions, 2 deletions
diff --git a/qtmips_machine/alu.h b/qtmips_machine/alu.h
index 786bba0..f0ce6c2 100644
--- a/qtmips_machine/alu.h
+++ b/qtmips_machine/alu.h
@@ -33,8 +33,9 @@ enum AluOp : std::uint8_t {
ALU_OP_NOR,
ALU_OP_SLT = 42,
ALU_OP_SLTU,
- ALU_OP_LUI, // We don't care about exact index for this one
- ALU_OP_LAST = 64 // First impossible operation (just to be sure that we don't overflow)
+ ALU_OP_LUI = 64, // We don't care about exact index for this one
+ ALU_OP_PASS_S, // Pass s argument without change for JAL
+ ALU_OP_LAST // First impossible operation (just to be sure that we don't overflow)
};
// Do ALU operation.