aboutsummaryrefslogtreecommitdiffstats
path: root/arch/x86/include/asm/atomic.h
diff options
context:
space:
mode:
Diffstat (limited to 'arch/x86/include/asm/atomic.h')
-rw-r--r--arch/x86/include/asm/atomic.h8
1 files changed, 4 insertions, 4 deletions
diff --git a/arch/x86/include/asm/atomic.h b/arch/x86/include/asm/atomic.h
index ce84388e540c..ea3d95275b43 100644
--- a/arch/x86/include/asm/atomic.h
+++ b/arch/x86/include/asm/atomic.h
@@ -82,7 +82,7 @@ static __always_inline void arch_atomic_sub(int i, atomic_t *v)
82 */ 82 */
83static __always_inline bool arch_atomic_sub_and_test(int i, atomic_t *v) 83static __always_inline bool arch_atomic_sub_and_test(int i, atomic_t *v)
84{ 84{
85 GEN_BINARY_RMWcc(LOCK_PREFIX "subl", v->counter, "er", i, "%0", e); 85 return GEN_BINARY_RMWcc(LOCK_PREFIX "subl", v->counter, e, "er", i);
86} 86}
87#define arch_atomic_sub_and_test arch_atomic_sub_and_test 87#define arch_atomic_sub_and_test arch_atomic_sub_and_test
88 88
@@ -122,7 +122,7 @@ static __always_inline void arch_atomic_dec(atomic_t *v)
122 */ 122 */
123static __always_inline bool arch_atomic_dec_and_test(atomic_t *v) 123static __always_inline bool arch_atomic_dec_and_test(atomic_t *v)
124{ 124{
125 GEN_UNARY_RMWcc(LOCK_PREFIX "decl", v->counter, "%0", e); 125 return GEN_UNARY_RMWcc(LOCK_PREFIX "decl", v->counter, e);
126} 126}
127#define arch_atomic_dec_and_test arch_atomic_dec_and_test 127#define arch_atomic_dec_and_test arch_atomic_dec_and_test
128 128
@@ -136,7 +136,7 @@ static __always_inline bool arch_atomic_dec_and_test(atomic_t *v)
136 */ 136 */
137static __always_inline bool arch_atomic_inc_and_test(atomic_t *v) 137static __always_inline bool arch_atomic_inc_and_test(atomic_t *v)
138{ 138{
139 GEN_UNARY_RMWcc(LOCK_PREFIX "incl", v->counter, "%0", e); 139 return GEN_UNARY_RMWcc(LOCK_PREFIX "incl", v->counter, e);
140} 140}
141#define arch_atomic_inc_and_test arch_atomic_inc_and_test 141#define arch_atomic_inc_and_test arch_atomic_inc_and_test
142 142
@@ -151,7 +151,7 @@ static __always_inline bool arch_atomic_inc_and_test(atomic_t *v)
151 */ 151 */
152static __always_inline bool arch_atomic_add_negative(int i, atomic_t *v) 152static __always_inline bool arch_atomic_add_negative(int i, atomic_t *v)
153{ 153{
154 GEN_BINARY_RMWcc(LOCK_PREFIX "addl", v->counter, "er", i, "%0", s); 154 return GEN_BINARY_RMWcc(LOCK_PREFIX "addl", v->counter, s, "er", i);
155} 155}
156#define arch_atomic_add_negative arch_atomic_add_negative 156#define arch_atomic_add_negative arch_atomic_add_negative
157 157