Lines Matching defs:ptr
5 #define arch_cmpxchg64(ptr, o, n) \
7 BUILD_BUG_ON(sizeof(*(ptr)) != 8); \
8 arch_cmpxchg((ptr), (o), (n)); \
11 #define arch_cmpxchg64_local(ptr, o, n) \
13 BUILD_BUG_ON(sizeof(*(ptr)) != 8); \
14 arch_cmpxchg_local((ptr), (o), (n)); \
17 #define arch_try_cmpxchg64(ptr, po, n) \
19 BUILD_BUG_ON(sizeof(*(ptr)) != 8); \
20 arch_try_cmpxchg((ptr), (po), (n)); \
35 asm volatile(_lock "cmpxchg16b %[ptr]" \
36 : [ptr] "+m" (*(_ptr)), \
44 static __always_inline u128 arch_cmpxchg128(volatile u128 *ptr, u128 old, u128 new)
46 return __arch_cmpxchg128(ptr, old, new, LOCK_PREFIX);
50 static __always_inline u128 arch_cmpxchg128_local(volatile u128 *ptr, u128 old, u128 new)
52 return __arch_cmpxchg128(ptr, old, new,);
62 asm volatile(_lock "cmpxchg16b %[ptr]" \
65 [ptr] "+m" (*ptr), \
76 static __always_inline bool arch_try_cmpxchg128(volatile u128 *ptr, u128 *oldp, u128 new)
78 return __arch_try_cmpxchg128(ptr, oldp, new, LOCK_PREFIX);
82 static __always_inline bool arch_try_cmpxchg128_local(volatile u128 *ptr, u128 *oldp, u128 new)
84 return __arch_try_cmpxchg128(ptr, oldp, new,);