about summary refs log tree commit diff stats
path: root/src
diff options
context:
space:
mode:
authorptitSeb <sebastien.chev@gmail.com>2023-06-24 15:00:07 +0200
committerptitSeb <sebastien.chev@gmail.com>2023-06-24 15:00:07 +0200
commit0352f2e6f0be908a891ed550efedbd724e50ceba (patch)
tree0d020ca539761a93dbdcd25a1485123e3f202187 /src
parent9ea02922eea037e1f16f490141d63bc1b77ce9f4 (diff)
downloadbox64-0352f2e6f0be908a891ed550efedbd724e50ceba.tar.gz
box64-0352f2e6f0be908a891ed550efedbd724e50ceba.zip
[ARM64_DYNAREC] Fix potential issue on FF /5 opcode
Diffstat (limited to 'src')
-rwxr-xr-xsrc/dynarec/arm64/dynarec_arm64_00.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/src/dynarec/arm64/dynarec_arm64_00.c b/src/dynarec/arm64/dynarec_arm64_00.c
index 317d8afd..db688eb3 100755
--- a/src/dynarec/arm64/dynarec_arm64_00.c
+++ b/src/dynarec/arm64/dynarec_arm64_00.c
@@ -2773,10 +2773,10 @@ uintptr_t dynarec64_00(dynarec_arm_t* dyn, uintptr_t addr, uintptr_t ip, int nin
                         READFLAGS(X_PEND);
                         BARRIER(BARRIER_FLOAT);
                         SMREAD()
-                        addr = geted(dyn, addr, ninst, nextop, &wback, x2, &fixedaddress, &unscaled, (0xfff<<(2+rex.w))-(rex.w?8:4), (1<<(2+rex.w))-1, rex, NULL, 0, 0);
-                        LDxw(x1, wback, fixedaddress);
+                        addr = geted(dyn, addr, ninst, nextop, &wback, x2, &fixedaddress, &unscaled, 0, 0, rex, NULL, 0, 0);
+                        LDxw(x1, wback, 0);
                         ed = x1;
-                        LDH(x3, wback, fixedaddress+rex.w?8:4);
+                        LDH(x3, wback, rex.w?8:4);
                         STW(x3, xEmu, offsetof(x64emu_t, segs[_CS]));
                         STW(xZR, xEmu, offsetof(x64emu_t, segs_serial[_CS]));
                         jump_to_epilog(dyn, 0, ed, ninst);