xref: /plan9-contrib/sys/src/libc/amd64/memchr.s (revision 272efad760864ee41cfe633b56aea9b4f5cf3ae7)
1*272efad7SDavid du Colombier	TEXT	memchr(SB),$0
2*272efad7SDavid du Colombier
3*272efad7SDavid du Colombier	MOVL	n+16(FP), CX
4*272efad7SDavid du Colombier	CMPL	CX, $0
5*272efad7SDavid du Colombier	JEQ	none
6*272efad7SDavid du Colombier	MOVQ	RARG, DI
7*272efad7SDavid du Colombier	MOVBLZX	c+8(FP), AX
8*272efad7SDavid du Colombier	CLD
9*272efad7SDavid du Colombier/*
10*272efad7SDavid du Colombier * SCASB is memchr instruction
11*272efad7SDavid du Colombier */
12*272efad7SDavid du Colombier
13*272efad7SDavid du Colombier	REPN;	SCASB
14*272efad7SDavid du Colombier	JEQ	found
15*272efad7SDavid du Colombier
16*272efad7SDavid du Colombiernone:
17*272efad7SDavid du Colombier	MOVL	$0, AX
18*272efad7SDavid du Colombier	RET
19*272efad7SDavid du Colombier
20*272efad7SDavid du Colombierfound:
21*272efad7SDavid du Colombier	MOVQ	DI, AX
22*272efad7SDavid du Colombier	SUBQ	$1, AX
23*272efad7SDavid du Colombier	RET
24