H A D | atomic_asm_32.S | 80 .macro atomic_op, name, bitwidth, body 174 atomic_op _cmpxchg, 32, "seq r26, r22, r2; { bbns r26, 3f; move r24, r3 }" label 175 atomic_op _xchg, 32, "move r24, r2" label 176 atomic_op _xchg_add, 32, "add r24, r22, r2" label 177 atomic_op _xchg_add_unless, 32, \ label 179 atomic_op _or, 32, "or r24, r22, r2" label 180 atomic_op _andn, 32, "nor r2, r2, zero; and r24, r22, r2" label 181 atomic_op _xor, 32, "xor r24, r22, r2" label 183 atomic_op 64_cmpxchg, 64, "{ seq r26, r22, r2; seq r27, r23, r3 }; \ label 185 atomic_op 6 label 186 atomic_op 64_xchg_add, 64, "{ add r24, r22, r2; add r25, r23, r3 }; \\ label 188 atomic_op 64_xchg_add_unless, 64, \\ label [all...] |