diff options
| author | ptitSeb <sebastien.chev@gmail.com> | 2023-03-18 08:27:34 +0000 |
|---|---|---|
| committer | ptitSeb <sebastien.chev@gmail.com> | 2023-03-18 08:27:34 +0000 |
| commit | 4a9d2d92d3f8eb8823d4811bafdbd5e2ad4f7687 (patch) | |
| tree | f02d30de93cf531ae2b45b383aeee52387f410c7 | |
| parent | 15c051e3adeca45c0fff81e4656f47f5c411a741 (diff) | |
| download | box64-4a9d2d92d3f8eb8823d4811bafdbd5e2ad4f7687.tar.gz box64-4a9d2d92d3f8eb8823d4811bafdbd5e2ad4f7687.zip | |
[RV64_DYNAREC] Added 99 CDQ opcode
| -rw-r--r-- | src/dynarec/rv64/dynarec_rv64_00.c | 10 |
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: |