about summary refs log tree commit diff stats
path: root/src
diff options
context:
space:
mode:
authorYang Liu <liuyang22@iscas.ac.cn>2023-04-19 23:47:20 +0800
committerGitHub <noreply@github.com>2023-04-19 17:47:20 +0200
commita0ea94b531733ed8965d9000f8717b83ad589cfc (patch)
tree654c70eb1dba3a309059d430f11c04bbec1bf533 /src
parent790a7a37d20161c1cfa5d44d05e143b663227b08 (diff)
downloadbox64-a0ea94b531733ed8965d9000f8717b83ad589cfc.tar.gz
box64-a0ea94b531733ed8965d9000f8717b83ad589cfc.zip
[RV64_DYNAREC] Remove 66 0F 3A 0B ROUNDSD opcode for now (#715)
Diffstat (limited to 'src')
-rw-r--r--src/dynarec/rv64/dynarec_rv64_660f.c48
1 files changed, 23 insertions, 25 deletions
diff --git a/src/dynarec/rv64/dynarec_rv64_660f.c b/src/dynarec/rv64/dynarec_rv64_660f.c
index 16e84d9a..fa391f82 100644
--- a/src/dynarec/rv64/dynarec_rv64_660f.c
+++ b/src/dynarec/rv64/dynarec_rv64_660f.c
@@ -244,31 +244,29 @@ uintptr_t dynarec64_660F(dynarec_rv64_t* dyn, uintptr_t addr, uintptr_t ip, int
                     DEFAULT;
             }
             break;
-        case 0x3A:  // these are some more SSSE3+ opcodes
-            opcode = F8;
-            switch(opcode) {
-                case 0x0B:
-                    INST_NAME("ROUNDSD Gx, Ex, Ib");
-                    nextop = F8;
-                    GETGX(x1);
-                    GETEXSD(d0, 0);
-                    u8 = F8;
-                    v1 = fpu_get_scratch(dyn);
-                    if(u8&4) {
-                        u8 = sse_setround(dyn, ninst, x4, x2);
-                        FCVTLD(x5, d0, RD_DYN);
-                        FCVTDL(v1, x5, RD_DYN);
-                        x87_restoreround(dyn, ninst, u8);
-                    } else {
-                        FCVTLD(x5, d0, round_round[u8&3]);
-                        FCVTDL(v1, x5, round_round[u8&3]);
-                    }
-                    FSD(v1, gback, 0);
-                    break;
-                default:
-                    DEFAULT;
-            }
-            break;
+        // case 0x3A:  // these are some more SSSE3+ opcodes
+        //     opcode = F8;
+        //     switch(opcode) {
+        //         case 0x0B:
+        //             INST_NAME("ROUNDSD Gx, Ex, Ib");
+        //             nextop = F8;
+        //             GETEXSD(d0, 0);
+        //             GETGXSD_empty(v0);
+        //             u8 = F8;
+        //             if(u8&4) {
+        //                 u8 = sse_setround(dyn, ninst, x4, x2);
+        //                 FCVTLD(x5, d0, RD_DYN);
+        //                 FCVTDL(v0, x5, RD_DYN);
+        //                 x87_restoreround(dyn, ninst, u8);
+        //             } else {
+        //                 FCVTLD(x5, d0, round_round[u8&3]);
+        //                 FCVTDL(v0, x5, round_round[u8&3]);
+        //             }
+        //             break;
+        //         default:
+        //             DEFAULT;
+        //     }
+        //     break;
 
         case 0x54:
             INST_NAME("ANDPD Gx, Ex");