Lines Matching full:new

82  * store NEW in MEM.  Return the initial value in MEM.  Success is
85 #define __raw_cmpxchg(ptr, old, new, size, lock) \ argument
89 __typeof__(*(ptr)) __new = (new); \
133 #define __cmpxchg(ptr, old, new, size) \ argument
134 __raw_cmpxchg((ptr), (old), (new), (size), LOCK_PREFIX)
136 #define __sync_cmpxchg(ptr, old, new, size) \ argument
137 __raw_cmpxchg((ptr), (old), (new), (size), "lock ")
139 #define __cmpxchg_local(ptr, old, new, size) \ argument
140 __raw_cmpxchg((ptr), (old), (new), (size), "")
148 #define arch_cmpxchg(ptr, old, new) \ argument
149 __cmpxchg(ptr, old, new, sizeof(*(ptr)))
151 #define arch_sync_cmpxchg(ptr, old, new) \ argument
152 __sync_cmpxchg(ptr, old, new, sizeof(*(ptr)))
154 #define arch_cmpxchg_local(ptr, old, new) \ argument
155 __cmpxchg_local(ptr, old, new, sizeof(*(ptr)))
168 asm_inline volatile(lock "cmpxchgb %[new], %[ptr]" \
172 : [new] "q" (__new) \
179 asm_inline volatile(lock "cmpxchgw %[new], %[ptr]" \
183 : [new] "r" (__new) \
190 asm_inline volatile(lock "cmpxchgl %[new], %[ptr]" \
194 : [new] "r" (__new) \
201 asm_inline volatile(lock "cmpxchgq %[new], %[ptr]" \
205 : [new] "r" (__new) \
217 #define __try_cmpxchg(ptr, pold, new, size) \ argument
218 __raw_try_cmpxchg((ptr), (pold), (new), (size), LOCK_PREFIX)
220 #define __sync_try_cmpxchg(ptr, pold, new, size) \ argument
221 __raw_try_cmpxchg((ptr), (pold), (new), (size), "lock ")
223 #define __try_cmpxchg_local(ptr, pold, new, size) \ argument
224 __raw_try_cmpxchg((ptr), (pold), (new), (size), "")
226 #define arch_try_cmpxchg(ptr, pold, new) \ argument
227 __try_cmpxchg((ptr), (pold), (new), sizeof(*(ptr)))
229 #define arch_sync_try_cmpxchg(ptr, pold, new) \ argument
230 __sync_try_cmpxchg((ptr), (pold), (new), sizeof(*(ptr)))
232 #define arch_try_cmpxchg_local(ptr, pold, new) \ argument
233 __try_cmpxchg_local((ptr), (pold), (new), sizeof(*(ptr)))