xref: /inferno-os/libkern/memccpy-power.s (revision 37da2899f40661e3e9631e497da8dc59b971cbd0)
1	TEXT	memccpy(SB), $0
2#define	BDNZ	BC	16,0,
3MOVW R3, s1+0(FP)
4	MOVW	n+12(FP), R7
5	MOVW	s2+4(FP), R4
6	MOVBZ	c+11(FP), R5
7	CMP	R7, $0
8	BEQ	nf
9	MOVW	R7, CTR
10	SUB	$1, R3
11	SUB	$1, R4
12l1:
13	MOVBZU	1(R4), R6
14	CMP	R6, R5
15	MOVBZU	R6, 1(R3)
16	BEQ	eq
17	BDNZ	l1
18nf:
19	MOVW	$0, R3
20	RETURN
21eq:
22	ADD	$1, R3
23	RETURN
24