diff options
Diffstat (limited to 'include/arch/x86_64/asm/atomic.h')
| -rw-r--r-- | include/arch/x86_64/asm/atomic.h | 30 |
1 files changed, 6 insertions, 24 deletions
diff --git a/include/arch/x86_64/asm/atomic.h b/include/arch/x86_64/asm/atomic.h index b673c7e3..9b2a4fd3 100644 --- a/include/arch/x86_64/asm/atomic.h +++ b/include/arch/x86_64/asm/atomic.h @@ -3,50 +3,35 @@ #define a_cas a_cas static inline int a_cas(volatile int *p, int t, int s) { - __asm__ __volatile__("lock ; cmpxchg %3, %1" - : "=a"(t), "=m"(*p) - : "a"(t), "r"(s) - : "memory"); + __asm__ __volatile__("lock ; cmpxchg %3, %1" : "=a"(t), "=m"(*p) : "a"(t), "r"(s) : "memory"); return t; } #define a_cas_p a_cas_p static inline void *a_cas_p(volatile void *p, void *t, void *s) { - __asm__("lock ; cmpxchg %3, %1" - : "=a"(t), "=m"(*(void *volatile *)p) - : "a"(t), "r"(s) - : "memory"); + __asm__("lock ; cmpxchg %3, %1" : "=a"(t), "=m"(*(void *volatile *)p) : "a"(t), "r"(s) : "memory"); return t; } #define a_swap a_swap static inline int a_swap(volatile int *p, int v) { - __asm__ __volatile__("xchg %0, %1" - : "=r"(v), "=m"(*p) - : "0"(v) - : "memory"); + __asm__ __volatile__("xchg %0, %1" : "=r"(v), "=m"(*p) : "0"(v) : "memory"); return v; } #define a_fetch_add a_fetch_add static inline int a_fetch_add(volatile int *p, int v) { - __asm__ __volatile__("lock ; xadd %0, %1" - : "=r"(v), "=m"(*p) - : "0"(v) - : "memory"); + __asm__ __volatile__("lock ; xadd %0, %1" : "=r"(v), "=m"(*p) : "0"(v) : "memory"); return v; } #define a_and a_and static inline void a_and(volatile int *p, int v) { - __asm__ __volatile__("lock ; and %1, %0" - : "=m"(*p) - : "r"(v) - : "memory"); + __asm__ __volatile__("lock ; and %1, %0" : "=m"(*p) : "r"(v) : "memory"); } #define a_or a_or @@ -82,10 +67,7 @@ static inline void a_dec(volatile int *p) #define a_store a_store static inline void a_store(volatile int *p, int x) { - __asm__ __volatile__("mov %1, %0 ; lock ; orl $0,(%%rsp)" - : "=m"(*p) - : "r"(x) - : "memory"); + __asm__ __volatile__("mov %1, %0 ; lock ; orl $0,(%%rsp)" : "=m"(*p) : "r"(x) : "memory"); } #define a_barrier a_barrier |
