xref: /plan9/sys/src/libc/sparc/memccpy.s (revision 3e12c5d1bb89fc02707907988834ef147769ddaf)
1	TEXT	memccpy(SB), $0
2
3MOVW	R7, 0(FP)
4	MOVW	n+12(FP), R7
5	SUBCC	R0,R7, R0
6	BE	ret
7	MOVW	s1+0(FP), R9
8	MOVW	s2+4(FP), R8
9	MOVBU	c+11(FP), R10
10	ADD	R7,R8, R11
11
12l1:	MOVBU	(R8), R12
13	ADD	$1, R8
14	MOVBU	R12, (R9)
15	ADD	$1, R9
16	SUBCC	R10,R12, R0
17	BE	eq
18	SUBCC	R8,R11, R0
19	BNE	l1
20	MOVW	R0, R7
21	RETURN
22
23eq:
24	MOVW	R9, R7
25
26ret:
27	RETURN
28