about summary refs log tree commit diff stats
path: root/src
diff options
context:
space:
mode:
authorptitSeb <sebastien.chev@gmail.com>2021-03-20 23:33:28 +0100
committerptitSeb <sebastien.chev@gmail.com>2021-03-20 23:33:28 +0100
commitcb7c7ad91336ed20541685f2a1020bc7759cd546 (patch)
treeec6a2c4431ba3f9a7eb0485da2087ff028ccbff3 /src
parentbd9cddf21176bd6d627d6e7f7b72f7ac5a9b16ee (diff)
downloadbox64-cb7c7ad91336ed20541685f2a1020bc7759cd546.tar.gz
box64-cb7c7ad91336ed20541685f2a1020bc7759cd546.zip
[DYNAREC] Fixed 69 and 6B opcodes (and now IntoTheBreach runs again)
Diffstat (limited to 'src')
-rwxr-xr-xsrc/dynarec/dynarec_arm64_00.c24
1 files changed, 12 insertions, 12 deletions
diff --git a/src/dynarec/dynarec_arm64_00.c b/src/dynarec/dynarec_arm64_00.c
index 5f47448f..304a6478 100755
--- a/src/dynarec/dynarec_arm64_00.c
+++ b/src/dynarec/dynarec_arm64_00.c
@@ -538,29 +538,29 @@ uintptr_t dynarec64_00(dynarec_arm_t* dyn, uintptr_t addr, uintptr_t ip, int nin
             GETGD;
             GETED(4);
             i64 = F32S;
-            MOV64xw(x1, i64);
+            MOV64xw(x4, i64);
             if(rex.w) {
                 // 64bits imul
                 UFLAG_IF {
-                    SMULH(x3, ed, x1);
-                    MULx(gd, ed, x1);
+                    SMULH(x3, ed, x4);
+                    MULx(gd, ed, x4);
                     UFLAG_OP1(x3);
                     UFLAG_RES(gd);
                     UFLAG_DF(x3, d_imul64);
                 } else {
-                    MULxw(gd, ed, x1);
+                    MULxw(gd, ed, x4);
                 }
             } else {
                 // 32bits imul
                 UFLAG_IF {
-                    SMULL(gd, ed, x1);
+                    SMULL(gd, ed, x4);
                     UFLAG_RES(gd);
                     LSRx(x3, gd, 32);
                     UFLAG_OP1(x3);
                     UFLAG_DF(x3, d_imul32);
                     MOVw_REG(gd, gd);
                 } else {
-                    MULxw(gd, ed, x1);
+                    MULxw(gd, ed, x4);
                 }
             }
             break;
@@ -577,29 +577,29 @@ uintptr_t dynarec64_00(dynarec_arm_t* dyn, uintptr_t addr, uintptr_t ip, int nin
             GETGD;
             GETED(1);
             i64 = F8S;
-            MOV64xw(x1, i64);
+            MOV64xw(x4, i64);
             if(rex.w) {
                 // 64bits imul
                 UFLAG_IF {
-                    SMULH(x3, ed, x1);
-                    MULx(gd, ed, x1);
+                    SMULH(x3, ed, x4);
+                    MULx(gd, ed, x4);
                     UFLAG_OP1(x3);
                     UFLAG_RES(gd);
                     UFLAG_DF(x3, d_imul64);
                 } else {
-                    MULxw(gd, ed, x1);
+                    MULxw(gd, ed, x4);
                 }
             } else {
                 // 32bits imul
                 UFLAG_IF {
-                    SMULL(gd, ed, x1);
+                    SMULL(gd, ed, x4);
                     UFLAG_RES(gd);
                     LSRx(x3, gd, 32);
                     UFLAG_OP1(x3);
                     UFLAG_DF(x3, d_imul32);
                     MOVw_REG(gd, gd);
                 } else {
-                    MULxw(gd, ed, x1);
+                    MULxw(gd, ed, x4);
                 }
             }
             break;