about summary refs log tree commit diff stats
diff options
context:
space:
mode:
-rwxr-xr-xsrc/dynarec/arm64_lock.S24
-rw-r--r--src/dynarec/dynarec_arm64_f0.c8
2 files changed, 16 insertions, 16 deletions
diff --git a/src/dynarec/arm64_lock.S b/src/dynarec/arm64_lock.S
index 0eb4dff3..ed17ad54 100755
--- a/src/dynarec/arm64_lock.S
+++ b/src/dynarec/arm64_lock.S
@@ -19,55 +19,55 @@
 
 arm64_lock_read_b:
     // address is x0, return is x0
-    ldxrb   w0, [x0]
+    ldaxrb  w0, [x0]
     ret
 
 arm64_lock_write_b:
     // address is x0, value is x1, return is x0
     mov     x2, x0
-    stxrb   w0, w1, [x2]
+    stlxrb  w0, w1, [x2]
     ret
 
 arm64_lock_read_h:
     // address is x0, return is x0
-    ldxrh   w0, [x0]
+    ldaxrh  w0, [x0]
     ret
 
 arm64_lock_write_h:
     // address is x0, value is x1, return is x0
     mov     x2, x0
-    stxrh   w0, w1, [x2]
+    stlxrh  w0, w1, [x2]
     ret
 
 arm64_lock_read_d:
     // address is x0, return is x0
-    ldxr     w0, [x0]
+    ldaxr    w0, [x0]
     #ldx     w0,[x0]
     ret
 
 arm64_lock_write_d:
     // address is x0, value is w1, return is x0
     mov     x2, x0
-    stxr    w0, w1, [x2]
+    stlxr   w0, w1, [x2]
     #str     w1, [x2]
     mov     w0, 0
     ret
 
 arm64_lock_read_dd:
     // address is x0, return is x0
-    ldxr    x0, [x0]
+    ldaxr   x0, [x0]
     ret
 
 arm64_lock_write_dd:
     // address is x0, value is x1, return is x0
     mov     x2, x0
-    stxr    w0, x1, [x2]
+    stlxr   w0, x1, [x2]
     ret
 
 arm64_lock_xchg:
     // address is x0, value is x1, return old value in x0
-    ldxr    x2, [x0]
-    stxr    w3, x1, [x0]
+    ldaxr   x2, [x0]
+    stlxr   w3, x1, [x0]
     cmp     w3, #1
     beq     arm64_lock_xchg
     mov     x0, x2
@@ -75,11 +75,11 @@ arm64_lock_xchg:
 
 arm64_lock_storeifnull:
     // address is x0, value is x1, x1 store to x0 only if [x0] is 0. return new [x0] value (so x1 or old value)
-    ldxr    x2, [x0]
+    ldaxr   x2, [x0]
     cmp     x2, #0
     bne     arm64_lock_storeifnull_exit
     mov     x2, x1
-    stxr    w3, x2, [x0]
+    stlxr   w3, x2, [x0]
     cmp     w3, #1
     beq     arm64_lock_storeifnull
 arm64_lock_storeifnull_exit:
diff --git a/src/dynarec/dynarec_arm64_f0.c b/src/dynarec/dynarec_arm64_f0.c
index 8f24f917..39efcf2b 100644
--- a/src/dynarec/dynarec_arm64_f0.c
+++ b/src/dynarec/dynarec_arm64_f0.c
@@ -77,24 +77,24 @@ uintptr_t dynarec64_F0(dynarec_arm_t* dyn, uintptr_t addr, uintptr_t ip, int nin
                         B_MARK3(cNE);
                         // Aligned version
                         MARKLOCK;
-                        LDXRxw(x1, wback);
+                        LDAXRxw(x1, wback);
                         ed = x1;
                         CMPSxw_REG(xRAX, ed);
                         B_MARK(cNE);
                         // EAX == Ed
-                        STXRxw(x4, gd, wback);
+                        STLXRxw(x4, gd, wback);
                         CBNZx_MARKLOCK(x4);
                         // done
                         B_MARK_nocond;
                         // Unaligned version
                         MARK3;
                         LDRxw_U12(x1, wback, 0);
-                        LDXRB(x3, wback); // dummy read, to arm the write...
+                        LDAXRB(x3, wback); // dummy read, to arm the write...
                         ed = x1;
                         CMPSxw_REG(xRAX, ed);
                         B_MARK(cNE);
                         // EAX == Ed
-                        STXRB(x4, gd, wback);
+                        STLXRB(x4, gd, wback);
                         CBNZx_MARK3(x4);
                         STRxw_U12(gd, wback, 0);
                         B_MARK_nocond;