Lines Matching refs:pfx
27 #define ATOMIC_OPS(pfx, type) \
28 static __always_inline type pfx##_read(const pfx##_t *v) \
33 static __always_inline void pfx##_set(pfx##_t *v, type i) \
38 static __always_inline type pfx##_cmpxchg(pfx##_t *v, type o, type n) \
43 static __always_inline type pfx##_xchg(pfx##_t *v, type n) \
55 #define ATOMIC_OP(pfx, op, type, c_op, asm_op, ll, sc) \
56 static __inline__ void pfx##_##op(type i, pfx##_t * v) \
73 "1: " #ll " %0, %1 # " #pfx "_" #op " \n" \
82 #define ATOMIC_OP_RETURN(pfx, op, type, c_op, asm_op, ll, sc) \
83 static __inline__ type pfx##_##op##_return_relaxed(type i, pfx##_t * v) \
102 "1: " #ll " %1, %2 # " #pfx "_" #op "_return\n" \
115 #define ATOMIC_FETCH_OP(pfx, op, type, c_op, asm_op, ll, sc) \
116 static __inline__ type pfx##_fetch_##op##_relaxed(type i, pfx##_t * v) \
134 "1: " #ll " %1, %2 # " #pfx "_fetch_" #op "\n" \
148 #define ATOMIC_OPS(pfx, op, type, c_op, asm_op, ll, sc) \
149 ATOMIC_OP(pfx, op, type, c_op, asm_op, ll, sc) \
150 ATOMIC_OP_RETURN(pfx, op, type, c_op, asm_op, ll, sc) \
151 ATOMIC_FETCH_OP(pfx, op, type, c_op, asm_op, ll, sc)
171 #define ATOMIC_OPS(pfx, op, type, c_op, asm_op, ll, sc) \
172 ATOMIC_OP(pfx, op, type, c_op, asm_op, ll, sc) \
173 ATOMIC_FETCH_OP(pfx, op, type, c_op, asm_op, ll, sc)
205 #define ATOMIC_SIP_OP(pfx, type, op, ll, sc) \
206 static __inline__ type pfx##_sub_if_positive(type i, pfx##_t * v) \