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