Lines Matching refs:pfx
27 #define ATOMIC_OPS(pfx, type) \ argument
28 static __always_inline type arch_##pfx##_read(const pfx##_t *v) \
33 static __always_inline void arch_##pfx##_set(pfx##_t *v, type i) \
39 arch_##pfx##_cmpxchg(pfx##_t *v, type o, type n) \
44 static __always_inline type arch_##pfx##_xchg(pfx##_t *v, type n) \
56 #define ATOMIC_OP(pfx, op, type, c_op, asm_op, ll, sc) \ argument
57 static __inline__ void arch_##pfx##_##op(type i, pfx##_t * v) \
74 "1: " #ll " %0, %1 # " #pfx "_" #op " \n" \
83 #define ATOMIC_OP_RETURN(pfx, op, type, c_op, asm_op, ll, sc) \ argument
85 arch_##pfx##_##op##_return_relaxed(type i, pfx##_t * v) \
104 "1: " #ll " %1, %2 # " #pfx "_" #op "_return\n" \
117 #define ATOMIC_FETCH_OP(pfx, op, type, c_op, asm_op, ll, sc) \ argument
119 arch_##pfx##_fetch_##op##_relaxed(type i, pfx##_t * v) \
137 "1: " #ll " %1, %2 # " #pfx "_fetch_" #op "\n" \
151 #define ATOMIC_OPS(pfx, op, type, c_op, asm_op, ll, sc) \ argument
152 ATOMIC_OP(pfx, op, type, c_op, asm_op, ll, sc) \
153 ATOMIC_OP_RETURN(pfx, op, type, c_op, asm_op, ll, sc) \
154 ATOMIC_FETCH_OP(pfx, op, type, c_op, asm_op, ll, sc)
174 #define ATOMIC_OPS(pfx, op, type, c_op, asm_op, ll, sc) \ argument
175 ATOMIC_OP(pfx, op, type, c_op, asm_op, ll, sc) \
176 ATOMIC_FETCH_OP(pfx, op, type, c_op, asm_op, ll, sc)
208 #define ATOMIC_SIP_OP(pfx, type, op, ll, sc) \ argument
209 static __inline__ type arch_##pfx##_sub_if_positive(type i, pfx##_t * v) \