about summary refs log tree commit diff stats
path: root/src
diff options
context:
space:
mode:
authorptitSeb <sebastien.chev@gmail.com>2023-10-17 14:05:16 +0200
committerptitSeb <sebastien.chev@gmail.com>2023-10-17 14:05:16 +0200
commit3cf27bb46e78747116ba57c9cf10ceb5b25caf71 (patch)
tree2fae0b8f4bb94cacac653ea21236824ed44003a2 /src
parentf67d0709b77f292ef3c69de0be67f1f3a76474bb (diff)
downloadbox64-3cf27bb46e78747116ba57c9cf10ceb5b25caf71.tar.gz
box64-3cf27bb46e78747116ba57c9cf10ceb5b25caf71.zip
[ARM64_DYNAREC] Fixed F0 0F B0 opcopde with Atomics extension
Diffstat (limited to 'src')
-rw-r--r--src/dynarec/arm64/dynarec_arm64_f0.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/dynarec/arm64/dynarec_arm64_f0.c b/src/dynarec/arm64/dynarec_arm64_f0.c
index b51c4f47..0b2dcb5c 100644
--- a/src/dynarec/arm64/dynarec_arm64_f0.c
+++ b/src/dynarec/arm64/dynarec_arm64_f0.c
@@ -256,7 +256,8 @@ uintptr_t dynarec64_F0(dynarec_arm_t* dyn, uintptr_t addr, uintptr_t ip, int nin
                             } else {
                                 addr = geted(dyn, addr, ninst, nextop, &wback, x3, &fixedaddress, NULL, 0, 0, rex, LOCK_LOCK, 0, 0);
                                 if(arm64_atomics) {
-                                    CASALB(x6, x2, wback);
+                                    MOVw_REG(x2, x6);
+                                    CASALB(x2, gd, wback);
                                 } else {
                                     MARKLOCK;
                                     LDAXRB(x2, wback);