xref: /plan9-contrib/sys/src/libc/power/memccpy.s (revision c49a87f2d5803b30d9c9694177e9def9aed58f53)
17dd7cddfSDavid du Colombier	TEXT	memccpy(SB), $0
27dd7cddfSDavid du Colombier#define	BDNZ	BC	16,0,
37dd7cddfSDavid du Colombier	MOVW	R3, s1+0(FP)
47dd7cddfSDavid du Colombier	MOVW	n+12(FP), R7
57dd7cddfSDavid du Colombier	MOVW	s2+4(FP), R4
67dd7cddfSDavid du Colombier	MOVBZ	c+11(FP), R5
77dd7cddfSDavid du Colombier	CMP	R7, $0
87dd7cddfSDavid du Colombier	BEQ	nf
97dd7cddfSDavid du Colombier	MOVW	R7, CTR
107dd7cddfSDavid du Colombier	SUB	$1, R3
117dd7cddfSDavid du Colombier	SUB	$1, R4
127dd7cddfSDavid du Colombierl1:
137dd7cddfSDavid du Colombier	MOVBZU	1(R4), R6
147dd7cddfSDavid du Colombier	CMP	R6, R5
157dd7cddfSDavid du Colombier	MOVBZU	R6, 1(R3)
167dd7cddfSDavid du Colombier	BEQ	eq
177dd7cddfSDavid du Colombier	BDNZ	l1
187dd7cddfSDavid du Colombiernf:
197dd7cddfSDavid du Colombier	MOVW	$0, R3
207dd7cddfSDavid du Colombier	RETURN
217dd7cddfSDavid du Colombiereq:
22*c49a87f2SDavid du Colombier	ADD	$1, R3
237dd7cddfSDavid du Colombier	RETURN
24