aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--sim/mips/mips.igen32
1 files changed, 32 insertions, 0 deletions
diff --git a/sim/mips/mips.igen b/sim/mips/mips.igen
index d6b247c..3f38d7a 100644
--- a/sim/mips/mips.igen
+++ b/sim/mips/mips.igen
@@ -5382,6 +5382,14 @@
// end-sanitize-vr5400
// start-sanitize-r5900
*r5900:
+// start-sanitize-sky
+{
+ address_word offset = EXTEND16 (OFFSET) << 2;
+ extern int sky_cpcond0;
+ if (sky_cpcond0 == 0)
+ DELAY_SLOT (NIA + offset);
+}
+// end-sanitize-sky
// end-sanitize-r5900
@@ -5397,6 +5405,14 @@
// end-sanitize-vr5400
// start-sanitize-r5900
*r5900:
+// start-sanitize-sky
+{
+ address_word offset = EXTEND16 (OFFSET) << 2;
+ extern int sky_cpcond0;
+ if (sky_cpcond0 == 0)
+ DELAY_SLOT (NIA + offset);
+}
+// end-sanitize-sky
// end-sanitize-r5900
@@ -5405,6 +5421,14 @@
*mipsI,mipsII,mipsIII,mipsIV:
// start-sanitize-r5900
*r5900:
+// start-sanitize-sky
+{
+ address_word offset = EXTEND16 (OFFSET) << 2;
+ extern int sky_cpcond0;
+ if (sky_cpcond0 != 0)
+ DELAY_SLOT (NIA + offset);
+}
+// end-sanitize-sky
// end-sanitize-r5900
@@ -5421,6 +5445,14 @@
// end-sanitize-vr5400
// start-sanitize-r5900
*r5900:
+// start-sanitize-sky
+{
+ address_word offset = EXTEND16 (OFFSET) << 2;
+ extern int sky_cpcond0;
+ if (sky_cpcond0 != 0)
+ DELAY_SLOT (NIA + offset);
+}
+// end-sanitize-sky
// end-sanitize-r5900