Lines Matching refs:pfx
26 #define ATOMIC_OPS(pfx, type) \ argument
27 static __always_inline type arch_##pfx##_read(const pfx##_t *v) \
32 static __always_inline void arch_##pfx##_set(pfx##_t *v, type i) \
38 arch_##pfx##_cmpxchg(pfx##_t *v, type o, type n) \
43 static __always_inline type arch_##pfx##_xchg(pfx##_t *v, type n) \
55 #define ATOMIC_OP(pfx, op, type, c_op, asm_op, ll, sc) \ argument
56 static __inline__ void arch_##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) \ argument
84 arch_##pfx##_##op##_return_relaxed(type i, pfx##_t * v) \
103 "1: " #ll " %1, %2 # " #pfx "_" #op "_return\n" \
116 #define ATOMIC_FETCH_OP(pfx, op, type, c_op, asm_op, ll, sc) \ argument
118 arch_##pfx##_fetch_##op##_relaxed(type i, pfx##_t * v) \
136 "1: " #ll " %1, %2 # " #pfx "_fetch_" #op "\n" \
150 #define ATOMIC_OPS(pfx, op, type, c_op, asm_op, ll, sc) \ argument
151 ATOMIC_OP(pfx, op, type, c_op, asm_op, ll, sc) \
152 ATOMIC_OP_RETURN(pfx, op, type, c_op, asm_op, ll, sc) \
153 ATOMIC_FETCH_OP(pfx, op, type, c_op, asm_op, ll, sc)
173 #define ATOMIC_OPS(pfx, op, type, c_op, asm_op, ll, sc) \ argument
174 ATOMIC_OP(pfx, op, type, c_op, asm_op, ll, sc) \
175 ATOMIC_FETCH_OP(pfx, op, type, c_op, asm_op, ll, sc)
207 #define ATOMIC_SIP_OP(pfx, type, op, ll, sc) \ argument
208 static __inline__ type arch_##pfx##_sub_if_positive(type i, pfx##_t * v) \