diff options
Diffstat (limited to 'src')
| -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: |