diff options
Diffstat (limited to 'mips')
| -rw-r--r-- | mips/mips_insts.sail | 4 |
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 *) |
