about summary refs log tree commit diff stats
path: root/src
diff options
context:
space:
mode:
authorptitSeb <sebastien.chev@gmail.com>2023-03-09 17:07:13 +0100
committerptitSeb <sebastien.chev@gmail.com>2023-03-09 17:07:13 +0100
commita1705da6daece826152564f93ede7e95eb4d1964 (patch)
tree180f2d1fed54098a391c92f7d72fa189ee3a8341 /src
parent0092a029c4e8bb45cc28a3c6b359476d9f00f064 (diff)
downloadbox64-a1705da6daece826152564f93ede7e95eb4d1964.tar.gz
box64-a1705da6daece826152564f93ede7e95eb4d1964.zip
[DYNAREC] More small fixes to arm64 lock file
Diffstat (limited to 'src')
-rwxr-xr-xsrc/dynarec/arm64/arm64_lock.S13
1 files changed, 1 insertions, 12 deletions
diff --git a/src/dynarec/arm64/arm64_lock.S b/src/dynarec/arm64/arm64_lock.S
index 44efc7da..d3e4f854 100755
--- a/src/dynarec/arm64/arm64_lock.S
+++ b/src/dynarec/arm64/arm64_lock.S
@@ -104,7 +104,6 @@ arm64_lock_xchg_0:
     ldaxr   x2, [x0]
     stlxr   w3, x1, [x0]
     cbnz    w3, arm64_lock_xchg_0
-    dmb     ish
     mov     x0, x2
     ret
 
@@ -115,7 +114,6 @@ arm64_lock_xchg_d_0:
     ldaxr   w2, [x0]
     stlxr   w3, w1, [x0]
     cbnz    w3, arm64_lock_xchg_d_0
-    dmb     ish
     mov     w0, w2
     ret
 
@@ -128,7 +126,6 @@ arm64_lock_storeifnull_0:
     stlxr   w3, x1, [x0]
     cbnz    w3, arm64_lock_storeifnull_0
 arm64_lock_storeifnull_exit:
-    dmb     ish
     mov     x0, x2
     ret
 
@@ -157,7 +154,6 @@ arm64_lock_storeifref_0:
     mov     x0, x1
     ret
 arm64_lock_storeifref_exit:
-    dmb     ish
     mov     x0, x3
     ret
 
@@ -173,7 +169,6 @@ arm64_lock_storeifref_d_0:
     mov     w0, w1
     ret
 arm64_lock_storeifref_d_exit:
-    dmb     ish
     mov     w0, w3
     ret
 
@@ -187,7 +182,6 @@ arm64_lock_storeifref2_d_0:
     stlxr   w4, w1, [x0]
     cbnz    w4, arm64_lock_storeifref2_d_0
 arm64_lock_storeifref2_d_exit:
-    dmb     ish
     mov     w0, w3
     ret
 
@@ -201,11 +195,9 @@ arm64_lock_decifnot0b_0:
     stlxrb  w2, w1, [x0]
     cbnz    w2, arm64_lock_decifnot0b_0
 arm64_lock_decifnot0b_exit:
-    dmb     ish
     ret
 
 arm64_lock_storeb:
-    dmb     ish
     strb    w1, [x0]
     dmb     ish
     ret
@@ -215,12 +207,11 @@ arm64_lock_decifnot0:
 arm64_lock_decifnot0_0:
     ldaxr   w1, [x0]
     cmp     w1, #0
-    bne     arm64_lock_decifnot0_exit
+    beq     arm64_lock_decifnot0_exit
     sub     w3, w1, #1
     stlxr   w2, w3, [x0]
     cbnz    w2, arm64_lock_decifnot0_0
 arm64_lock_decifnot0_exit:
-    dmb     ish
     mov     w0, w1
     ret
 
@@ -234,12 +225,10 @@ arm64_lock_incif0_0:
     stlxr   w2, w3, [x0]
     cbnz    w2, arm64_lock_incif0_0
 arm64_lock_incif0_exit:
-    dmb     ish
     mov     w0, w1
     ret
 
 arm64_lock_store:
-    dmb     ish
     str     w1, [x0]
     dmb     ish
     ret