summaryrefslogtreecommitdiff
path: root/sys/src/libthread/xincamd64.s
blob: ed1c8141900224ec5ba3e16452d867fb63da2382 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
/*TEXT	xadd(SB),$0	/* long xadd(long *, long); */

/*	MOVL	i+8(FP),AX
/*	LOCK
/*	XADDL	AX, (RARG)
/*	RET
*/

TEXT	_xinc(SB),$0	/* void _xinc(long *); */

	LOCK; INCL	0(RARG)
	RET

TEXT	_xdec(SB),$0	/* long _xdec(long *); */

	MOVL	$0, AX
	MOVL	$1, BX
	LOCK; DECL	0(RARG)
	CMOVLNE	BX, AX
	RET