summaryrefslogtreecommitdiff
path: root/mips
diff options
context:
space:
mode:
authorChristopher Pulte2016-11-10 15:06:44 +0000
committerChristopher Pulte2016-11-10 15:06:44 +0000
commit6602c7fa9326729ff8378d57af79b1a1137cb4e3 (patch)
tree93d0e681bed99b342b3e92bbf255087b8678561b /mips
parent21ac39766a2de7ca262f7d369d99e5af024097dd (diff)
parent6d4ae9042843a87c81c8cd7521c69a7d9195757d (diff)
Merge branch 'master' of https://bitbucket.org/Peter_Sewell/sail
Diffstat (limited to 'mips')
-rw-r--r--mips/mips_regfp.sail2
1 files changed, 2 insertions, 0 deletions
diff --git a/mips/mips_regfp.sail b/mips/mips_regfp.sail
index b1a86b56..b7cfce2b 100644
--- a/mips/mips_regfp.sail
+++ b/mips/mips_regfp.sail
@@ -337,6 +337,7 @@ function (regfps,regfps,regfps,niafps,diafp,instruction_kind) initial_analysis (
*)
case (Load(width, signed, linked, base, rt, offset)) -> {
ik := IK_mem_read (if linked then Read_reserve else Read_plain);
+ if linked then oR := RFull("CP0LLBit")::RFull("CP0LLAddr")::oR else ();
if base == 0 then () else aR := RFull(GPRs[base]) :: aR;
iR := aR;
if rt == 0 then () else oR := RFull(GPRs[rt]) :: oR;
@@ -345,6 +346,7 @@ function (regfps,regfps,regfps,niafps,diafp,instruction_kind) initial_analysis (
ik := IK_mem_write(if conditional then Write_conditional else Write_plain);
if base == 0 then () else aR := RFull(GPRs[base]) :: aR;
iR := aR;
+ if conditional then iR := RFull("CP0LLBit")::iR else ();
if rt == 0 then () else iR := RFull(GPRs[rt]) :: iR;
}
case (LWL(base, rt, offset)) -> {