about summary refs log tree commit diff stats
path: root/src
diff options
context:
space:
mode:
authorptitSeb <sebastien.chev@gmail.com>2023-03-18 08:27:34 +0000
committerptitSeb <sebastien.chev@gmail.com>2023-03-18 08:27:34 +0000
commit4a9d2d92d3f8eb8823d4811bafdbd5e2ad4f7687 (patch)
treef02d30de93cf531ae2b45b383aeee52387f410c7 /src
parent15c051e3adeca45c0fff81e4656f47f5c411a741 (diff)
downloadbox64-4a9d2d92d3f8eb8823d4811bafdbd5e2ad4f7687.tar.gz
box64-4a9d2d92d3f8eb8823d4811bafdbd5e2ad4f7687.zip
[RV64_DYNAREC] Added 99 CDQ opcode
Diffstat (limited to 'src')
-rw-r--r--src/dynarec/rv64/dynarec_rv64_00.c10
1 files changed, 9 insertions, 1 deletions
diff --git a/src/dynarec/rv64/dynarec_rv64_00.c b/src/dynarec/rv64/dynarec_rv64_00.c
index a14991cc..0d6d412b 100644
--- a/src/dynarec/rv64/dynarec_rv64_00.c
+++ b/src/dynarec/rv64/dynarec_rv64_00.c
@@ -430,7 +430,15 @@ uintptr_t dynarec64_00(dynarec_rv64_t* dyn, uintptr_t addr, uintptr_t ip, int ni
                 ZEROUP(xRAX);
             }
             break;
-
+        case 0x99:
+            INST_NAME("CDQ");
+            if(rex.w) {
+                SRLI(xRDX, xRAX, 63);
+            } else {
+                SLLI(xRDX, xRAX, 32);
+                SRLI(xRDX, xRDX, 63);
+            }
+            break;
 
         case 0xB8:
         case 0xB9: