summaryrefslogtreecommitdiff
path: root/mips/mips.sail
diff options
context:
space:
mode:
authorRobert Norton2016-01-26 15:48:06 +0000
committerRobert Norton2016-01-26 15:48:06 +0000
commitb8f1e40445108d436ba17f547cd283dd4ae41b7d (patch)
tree668536732a5f33ff21f52d948592342a1705c439 /mips/mips.sail
parent6c2d0a94ce479444f39b6a163749a6955067c1c9 (diff)
mips.sail: 32-bit load linked should sign extend result.
Diffstat (limited to 'mips/mips.sail')
-rw-r--r--mips/mips.sail2
1 files changed, 1 insertions, 1 deletions
diff --git a/mips/mips.sail b/mips/mips.sail
index cdef9cbc..b6e98d83 100644
--- a/mips/mips.sail
+++ b/mips/mips.sail
@@ -1214,7 +1214,7 @@ function clause decode (0b100101 : (regno) base : (regno) rt : (imm16) offset) =
function clause decode (0b100011 : (regno) base : (regno) rt : (imm16) offset) = Some(Load(W, true, false, base, rt, offset)) (* LW *)
function clause decode (0b100111 : (regno) base : (regno) rt : (imm16) offset) = Some(Load(W, false, false, base, rt, offset)) (* LWU *)
function clause decode (0b110111 : (regno) base : (regno) rt : (imm16) offset) = Some(Load(D, false, false, base, rt, offset)) (* LD *)
-function clause decode (0b110000 : (regno) base : (regno) rt : (imm16) offset) = Some(Load(W, false, true, base, rt, offset)) (* LL *)
+function clause decode (0b110000 : (regno) base : (regno) rt : (imm16) offset) = Some(Load(W, true, true, base, rt, offset)) (* LL *)
function clause decode (0b110100 : (regno) base : (regno) rt : (imm16) offset) = Some(Load(D, false, true, base, rt, offset)) (* LLD *)
function clause execute (Load(width, signed, linked, base, rt, offset)) =
{