Module Name: src
Committed By: skrll
Date: Tue Oct 13 21:17:35 UTC 2020
Modified Files:
src/common/lib/libc/arch/aarch64/atomic: atomic_op_asm.h
Log Message:
Remove memory barriers from the atomic ops macros in the same way as was
done for the other atomic ops earlier.
To generate a diff of this commit:
cvs rdiff -u -r1.4 -r1.5 \
src/common/lib/libc/arch/aarch64/atomic/atomic_op_asm.h
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: src/common/lib/libc/arch/aarch64/atomic/atomic_op_asm.h
diff -u src/common/lib/libc/arch/aarch64/atomic/atomic_op_asm.h:1.4 src/common/lib/libc/arch/aarch64/atomic/atomic_op_asm.h:1.5
--- src/common/lib/libc/arch/aarch64/atomic/atomic_op_asm.h:1.4 Wed Oct 7 07:34:29 2020
+++ src/common/lib/libc/arch/aarch64/atomic/atomic_op_asm.h Tue Oct 13 21:17:35 2020
@@ -1,4 +1,4 @@
-/* $NetBSD: atomic_op_asm.h,v 1.4 2020/10/07 07:34:29 skrll Exp $ */
+/* $NetBSD: atomic_op_asm.h,v 1.5 2020/10/13 21:17:35 skrll Exp $ */
/*-
* Copyright (c) 2014 The NetBSD Foundation, Inc.
@@ -41,7 +41,6 @@ ENTRY_NP(_atomic_##OP##_8) ;\
INSN w2, w0, w1 /* calculate new value */ ;\
stxrb w3, w2, [x4] /* try to store */ ;\
cbnz w3, 1b /* succeed? no, try again */ ;\
- dmb st ;\
ret /* return old value */ ;\
END(_atomic_##OP##_8)
@@ -52,7 +51,6 @@ ENTRY_NP(_atomic_##OP##_8_nv) ;\
INSN w0, w0, w1 /* calc new (return) value */ ;\
stxrb w3, w0, [x4] /* try to store */ ;\
cbnz w3, 1b /* succeed? no, try again */ ;\
- dmb sy ;\
ret /* return new value */ ;\
END(_atomic_##OP##_8_nv)
@@ -63,7 +61,6 @@ ENTRY_NP(_atomic_##OP##_16) ;\
INSN w2, w0, w1 /* calculate new value */ ;\
stxrh w3, w2, [x4] /* try to store */ ;\
cbnz w3, 1b /* succeed? no, try again */ ;\
- dmb st ;\
ret /* return old value */ ;\
END(_atomic_##OP##_16)
@@ -74,7 +71,6 @@ ENTRY_NP(_atomic_##OP##_16_nv) ;\
INSN w0, w0, w1 /* calc new (return) value */ ;\
stxrh w3, w0, [x4] /* try to store */ ;\
cbnz w3, 1b /* succeed? no, try again */ ;\
- dmb sy ;\
ret /* return new value */ ;\
END(_atomic_##OP##_16_nv)
@@ -85,7 +81,6 @@ ENTRY_NP(_atomic_##OP##_32) ;\
INSN w2, w0, w1 /* calculate new value */ ;\
stxr w3, w2, [x4] /* try to store */ ;\
cbnz w3, 1b /* succeed? no, try again */ ;\
- dmb st ;\
ret /* return old value */ ;\
END(_atomic_##OP##_32)
@@ -96,7 +91,6 @@ ENTRY_NP(_atomic_##OP##_32_nv) ;\
INSN w0, w0, w1 /* calc new (return) value */ ;\
stxr w3, w0, [x4] /* try to store */ ;\
cbnz w3, 1b /* succeed? no, try again? */ ;\
- dmb sy ;\
ret /* return new value */ ;\
END(_atomic_##OP##_32_nv)
@@ -107,7 +101,6 @@ ENTRY_NP(_atomic_##OP##_64) ;\
INSN x2, x0, x1 /* calculate new value */ ;\
stxr w3, x2, [x4] /* try to store */ ;\
cbnz w3, 1b /* succeed? no, try again */ ;\
- dmb st ;\
ret /* return old value */ ;\
END(_atomic_##OP##_64)
@@ -118,7 +111,6 @@ ENTRY_NP(_atomic_##OP##_64_nv) ;\
INSN x0, x0, x1 /* calc new (return) value */ ;\
stxr w3, x0, [x4] /* try to store */ ;\
cbnz w3, 1b /* succeed? no, try again? */ ;\
- dmb sy ;\
ret /* return new value */ ;\
END(_atomic_##OP##_64_nv)