Commit b83549a7 authored by Kai Backman's avatar Kai Backman

cas

R=rsc
APPROVED=rsc
DELTA=31  (1 added, 8 deleted, 22 changed)
OCL=35752
CL=35757
parent f72ea8eb
......@@ -10,5 +10,20 @@
// }else
// return 0;
TEXT cas+0(SB),0,$12
TODO
TEXT cas(SB),7,$0
MOVW 0(FP), R1 // *val
MOVW 4(FP), R2 // old
MOVW 8(FP), R3 // new
l:
LDREX (R1), R0
CMP R0, R2
BNE fail
STREX R3, (R1), R0
CMP $0, R0
BNE l
MOVW $1, R0
RET
fail:
MOVW $0, R0
RET
......@@ -10,5 +10,21 @@
// }else
// return false;
TEXT sync·cas+0(SB),0,$12
TODO
TEXT sync·cas(SB),7,$0
MOVW 0(FP), R1 // *val
MOVW 4(FP), R2 // old
MOVW 8(FP), R3 // new
l:
LDREX (R1), R0
CMP R0, R2
BNE fail
STREX R3, (R1), R0
CMP $0, R0
BNE l
MOVW $1, R0
MOVW R0, 16(SP)
RET
fail:
MOVW $0, R0
MOVW R0, 16(SP)
RET
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment