xref: /plan9/sys/src/libthread/xincamd64.s (revision ab3dc52f122c98aa4bc2bd64bd2292bb7b80fba2)
1/*TEXT	xadd(SB),$0	/* long xadd(long *, long); */
2
3/*	MOVL	i+8(FP),AX
4/*	LOCK
5/*	XADDL	AX, (RARG)
6/*	RET
7*/
8
9TEXT	_xinc(SB),$0	/* void _xinc(long *); */
10
11	LOCK; INCL	0(RARG)
12	RET
13
14TEXT	_xdec(SB),$0	/* long _xdec(long *); */
15
16	MOVL	$0, AX
17	MOVL	$1, BX
18	LOCK; DECL	0(RARG)
19	CMOVLNE	BX, AX
20	RET
21