about summary refs log tree commit diff stats
diff options
context:
space:
mode:
-rw-r--r--src/dynarec/rv64/dynarec_rv64_helper.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/dynarec/rv64/dynarec_rv64_helper.c b/src/dynarec/rv64/dynarec_rv64_helper.c
index 87fe9448..7aa51a74 100644
--- a/src/dynarec/rv64/dynarec_rv64_helper.c
+++ b/src/dynarec/rv64/dynarec_rv64_helper.c
@@ -893,6 +893,10 @@ int x87_do_push(dynarec_rv64_t* dyn, int ninst, int s1, int t)
             ret=dyn->e.x87reg[i]=fpu_get_reg_x87(dyn, t, 0);
             dyn->e.extcache[EXTIDX(ret)].t = X87_ST0;
         }
+    if(ret==-1) {
+        MESSAGE(LOG_DUMP, "Incoherent x87 stack cache, aborting\n");
+        dyn->abort = 1;
+    }
     return ret;
 }
 void x87_do_push_empty(dynarec_rv64_t* dyn, int ninst, int s1)