Lines Matching full:ll
56 #define ATOMIC_OP(pfx, op, type, c_op, asm_op, ll, sc) \ argument
74 "1: " #ll " %0, %1 # " #pfx "_" #op " \n" \
83 #define ATOMIC_OP_RETURN(pfx, op, type, c_op, asm_op, ll, sc) \ argument
104 "1: " #ll " %1, %2 # " #pfx "_" #op "_return\n" \
117 #define ATOMIC_FETCH_OP(pfx, op, type, c_op, asm_op, ll, sc) \ argument
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)
156 ATOMIC_OPS(atomic, add, int, +=, addu, ll, sc)
157 ATOMIC_OPS(atomic, sub, int, -=, subu, 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)
178 ATOMIC_OPS(atomic, and, int, &=, and, ll, sc)
179 ATOMIC_OPS(atomic, or, int, |=, or, ll, sc)
180 ATOMIC_OPS(atomic, xor, int, ^=, xor, ll, sc)
208 #define ATOMIC_SIP_OP(pfx, type, op, ll, sc) \ argument
232 "1: " #ll " %1, %2 # atomic_sub_if_positive\n" \
251 * bltz that can branch to code outside of the LL/SC loop. As \
260 ATOMIC_SIP_OP(atomic, int, subu, ll, sc)