summaryrefslogtreecommitdiff
path: root/mips
diff options
context:
space:
mode:
Diffstat (limited to 'mips')
-rw-r--r--mips/mips_insts.sail4
1 files changed, 3 insertions, 1 deletions
diff --git a/mips/mips_insts.sail b/mips/mips_insts.sail
index 16af5c22..cfa35ab1 100644
--- a/mips/mips_insts.sail
+++ b/mips/mips_insts.sail
@@ -514,7 +514,9 @@ function clause decode (0b001010 : (regno) rs : (regno) rt : (imm16) imm) =
Some(SLTI(rs, rt, imm))
function clause execute (SLTI(rs, rt, imm)) =
{
- wGPR(rt) := if (rGPR(rs) <_s ((bit[64]) (EXTS(imm)))) then 1 else 0
+ let imm_val = signed(imm) in
+ let rs_val = signed(rGPR(rs)) in
+ wGPR(rt) := EXTZ(if (rs_val < imm_val) then 1 else 0)
}
(* SLTU set if less than unsigned *)