ATOMIC64_OP
ATOMIC64_OP(op, op##q) \
ATOMIC64_OP(op, asm) \
ATOMIC64_OP(op, op1, op2) \
ATOMIC64_OP(op, op1, op2) \
ATOMIC64_OP(op, op1, op2) \
ATOMIC64_OP(op, op1, op2) \
ATOMIC64_OP(atomic64_andnot)
ATOMIC64_OP(atomic64_or)
ATOMIC64_OP(atomic64_xor)
ATOMIC64_OP(atomic64_add)
ATOMIC64_OP(atomic64_and)
ATOMIC64_OP(atomic64_sub)
#undef ATOMIC64_OP
ATOMIC64_OP(__VA_ARGS__) \
ATOMIC64_OP(__VA_ARGS__) \
#undef ATOMIC64_OP
ATOMIC64_OP(or, stset)
ATOMIC64_OP(xor, steor)
ATOMIC64_OP(add, stadd)
ATOMIC64_OP(op, I, asm_op) \
ATOMIC64_OP(op, I, asm_op) \
ATOMIC64_OP(op, c_op) \
ATOMIC64_OP(op, c_op) \
ATOMIC64_OP(op, asm_op) \
ATOMIC64_OP(op, asm_op) \
#define ATOMIC64_OPS(op) ATOMIC64_OP(op) ATOMIC64_OP_RETURN(op) ATOMIC64_FETCH_OP(op)
#define ATOMIC64_OPS(op) ATOMIC64_OP(op) ATOMIC64_FETCH_OP(op)
#undef ATOMIC64_OP
ATOMIC64_OP(op, c_op) \
ATOMIC64_OP(op, c_op) \
#undef ATOMIC64_OP