Lines Matching full:ll
55 #define ATOMIC_OP(pfx, op, type, c_op, asm_op, ll, sc) \ argument
73 "1: " #ll " %0, %1 # " #pfx "_" #op " \n" \
82 #define ATOMIC_OP_RETURN(pfx, op, type, c_op, asm_op, ll, sc) \ argument
102 "1: " #ll " %1, %2 # " #pfx "_" #op "_return\n" \
115 #define ATOMIC_FETCH_OP(pfx, op, type, c_op, asm_op, ll, sc) \ argument
134 "1: " #ll " %1, %2 # " #pfx "_fetch_" #op "\n" \
148 #define ATOMIC_OPS(pfx, op, type, c_op, asm_op, ll, sc) \ argument
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)
153 ATOMIC_OPS(atomic, add, int, +=, addu, ll, sc)
154 ATOMIC_OPS(atomic, sub, int, -=, subu, ll, sc)
171 #define ATOMIC_OPS(pfx, op, type, c_op, asm_op, ll, sc) \ argument
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)
175 ATOMIC_OPS(atomic, and, int, &=, and, ll, sc)
176 ATOMIC_OPS(atomic, or, int, |=, or, ll, sc)
177 ATOMIC_OPS(atomic, xor, int, ^=, xor, ll, sc)
205 #define ATOMIC_SIP_OP(pfx, type, op, ll, sc) \ argument
229 "1: " #ll " %1, %2 # atomic_sub_if_positive\n" \
248 * bltz that can branch to code outside of the LL/SC loop. As \
257 ATOMIC_SIP_OP(atomic, int, subu, ll, sc)