about summary refs log tree commit diff stats
diff options
context:
space:
mode:
authorYang Liu <liuyang22@iscas.ac.cn>2023-11-28 22:22:46 +0800
committerGitHub <noreply@github.com>2023-11-28 15:22:46 +0100
commit6157f53aae66269c1149ce0bbcfa028e64111cfc (patch)
tree34f798472552419d68ec4f2dee75b901ace54d49
parent3f2d4a5274076ba63fe8f8fd30db0d305d7dc569 (diff)
downloadbox64-6157f53aae66269c1149ce0bbcfa028e64111cfc.tar.gz
box64-6157f53aae66269c1149ce0bbcfa028e64111cfc.zip
[DYNAREC_RV64] Added missing fallbacks in x87 opcodes (#1096)
-rw-r--r--src/dynarec/rv64/dynarec_rv64_d8.c12
-rw-r--r--src/dynarec/rv64/dynarec_rv64_dc.c1
2 files changed, 8 insertions, 5 deletions
diff --git a/src/dynarec/rv64/dynarec_rv64_d8.c b/src/dynarec/rv64/dynarec_rv64_d8.c
index 88fbc105..f72a7883 100644
--- a/src/dynarec/rv64/dynarec_rv64_d8.c
+++ b/src/dynarec/rv64/dynarec_rv64_d8.c
@@ -43,11 +43,14 @@ uintptr_t dynarec64_D8(dynarec_rv64_t* dyn, uintptr_t addr, uintptr_t ip, int ni
 
     switch(nextop) {
         case 0xC0 ... 0xC7:
-
+            DEFAULT;
+            break;
         case 0xC8 ... 0xCF:
-
+            DEFAULT;
+            break;
         case 0xD0 ... 0xD7:
-
+            DEFAULT;
+            break;
         case 0xD8 ... 0xDF:
             INST_NAME("FCOMP ST0, STx");
             v1 = x87_get_st(dyn, ninst, x1, x2, 0, X87_COMBINE(0, nextop&7));
@@ -105,7 +108,8 @@ uintptr_t dynarec64_D8(dynarec_rv64_t* dyn, uintptr_t addr, uintptr_t ip, int ni
             }
             break;
         case 0xE8 ... 0xEF:
-
+            DEFAULT;
+            break;
         case 0xF0 ... 0xF7:
             INST_NAME("FDIV ST0, STx");
             v1 = x87_get_st(dyn, ninst, x1, x2, 0, X87_COMBINE(0, nextop&7));
diff --git a/src/dynarec/rv64/dynarec_rv64_dc.c b/src/dynarec/rv64/dynarec_rv64_dc.c
index 3cca69a2..cc740149 100644
--- a/src/dynarec/rv64/dynarec_rv64_dc.c
+++ b/src/dynarec/rv64/dynarec_rv64_dc.c
@@ -57,7 +57,6 @@ uintptr_t dynarec64_DC(dynarec_rv64_t* dyn, uintptr_t addr, uintptr_t ip, int ni
             INST_NAME("FSUBR STx, ST0");
             DEFAULT;
             break;
-            break;
         case 0xE8 ... 0xEF:
             INST_NAME("FSUB STx, ST0");
             DEFAULT;