From 30b83f4f9c1cf2e5b62d1b59f9f301f6081d601d Mon Sep 17 00:00:00 2001 From: ptitSeb Date: Mon, 29 Jan 2024 14:44:18 +0100 Subject: [ARM64_DYNAREC] Fixed 66 50-5F opcodes (helps Dave the Diver) --- src/dynarec/arm64/dynarec_arm64_66.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'src') diff --git a/src/dynarec/arm64/dynarec_arm64_66.c b/src/dynarec/arm64/dynarec_arm64_66.c index fa35e7b6..5da501c2 100644 --- a/src/dynarec/arm64/dynarec_arm64_66.c +++ b/src/dynarec/arm64/dynarec_arm64_66.c @@ -355,7 +355,7 @@ uintptr_t dynarec64_66(dynarec_arm_t* dyn, uintptr_t addr, uintptr_t ip, int nin case 0x56: case 0x57: INST_NAME("PUSH reg"); - gd = xRAX+(opcode&0x07); + gd = xRAX+(opcode&0x07)+(rex.b<<3); if (gd==xRSP) { MOVw_REG(x1, xRSP); PUSH1_16(x1); @@ -372,7 +372,7 @@ uintptr_t dynarec64_66(dynarec_arm_t* dyn, uintptr_t addr, uintptr_t ip, int nin case 0x5E: case 0x5F: INST_NAME("POP reg"); - gd = xRAX+(opcode&0x07); + gd = xRAX+(opcode&0x07)+(rex.b<<3); POP1_16(x1); BFIw(gd, x1, 0, 16); break; -- cgit 1.4.1