81 lines · 1.4 KB · Assembly
RawDownload
TEXT __builtin_ctz(SB), 1, $0	BYTE $0x0F; BYTE $0xBC; BYTE $0xC5 /* BSFL RARG, AX */	RET TEXT __builtin_ctzll(SB), 1, $0	LONG $0xC5BC0F48 /* BSFL RARG, AX */	RET TEXT __builtin_clz(SB), 1, $0	BYTE $0x0F; BYTE $0xBD; BYTE $0xC5 /* BSRL RARG, AX */	XORL $31, AX	RET TEXT __builtin_clzll(SB), 1, $0	BYTE $0x48; BYTE $0x0F; BYTE $0xBD; BYTE $0xC5 /* BSRQ RARG, AX */	XORL $63, AX	RET TEXT atomic_fetch_add(SB), 1, $0afap:	MOVL	(RARG), AX	/* exp */	MOVL	AX, CX	MOVL	AX, BX	ADDL	d+8(FP), BX	/* new */	LOCK; CMPXCHGL BX, (RARG)	JNZ	afap	MOVL	CX, AX	RET TEXT atomic_fetch_sub(SB), 1, $0afsp:	MOVL	(RARG), AX	/* exp */	MOVL	AX, CX	MOVL	AX, BX	SUBL	d+8(FP), BX	/* new */	LOCK; CMPXCHGL BX, (RARG)	JNZ	afsp	MOVL	CX, AX	RET TEXT atomic_fetch_and(SB), 1, $0afandp:	MOVL	(RARG), AX	/* exp */	MOVL	AX, CX	MOVL	AX, BX	ANDL	d+8(FP), BX	/* new */	LOCK; CMPXCHGL BX, (RARG)	JNZ	afandp	MOVL	CX, AX	RET TEXT atomic_fetch_or(SB), 1, $0aforp:	MOVL	(RARG), AX	/* exp */	MOVL	AX, CX	MOVL	AX, BX	ORL		d+8(FP), BX	/* new */	LOCK; CMPXCHGL BX, (RARG)	JNZ	aforp	MOVL	CX, AX	RET TEXT atomic_fetch_xor(SB), 1, $0afxorp:	MOVL	(RARG), AX	/* exp */	MOVL	AX, CX	MOVL	AX, BX	XORL	d+8(FP), BX	/* new */	LOCK; CMPXCHGL BX, (RARG)	JNZ	afxorp	MOVL	CX, AX	RET TEXT atomic_exchange(SB), 1, $0afexp:	MOVL	(RARG), AX	/* exp */	MOVL	AX, CX	LOCK; CMPXCHGL AX, (RARG)	JNZ	afexp	MOVL	CX, AX	RET

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t