about summary refs log tree commit diff stats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/dynarec/arm64/dynarec_arm64_66.c4
1 files changed, 2 insertions, 2 deletions
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;