xref: /plan9/sys/src/libc/mips/memccpy.s (revision 3e12c5d1bb89fc02707907988834ef147769ddaf)
1*3e12c5d1SDavid du Colombier	TEXT	memccpy(SB), $0
2*3e12c5d1SDavid du ColombierMOVW R1, 0(FP)
3*3e12c5d1SDavid du Colombier	MOVW	n+12(FP), R1
4*3e12c5d1SDavid du Colombier	BEQ	R1, ret
5*3e12c5d1SDavid du Colombier	MOVW	s1+0(FP), R3
6*3e12c5d1SDavid du Colombier	MOVW	s2+4(FP), R2
7*3e12c5d1SDavid du Colombier	MOVBU	c+11(FP), R4
8*3e12c5d1SDavid du Colombier	ADDU	R1, R2, R5
9*3e12c5d1SDavid du Colombier
10*3e12c5d1SDavid du Colombierl1:	MOVBU	(R2), R6
11*3e12c5d1SDavid du Colombier	ADDU	$1, R2
12*3e12c5d1SDavid du Colombier	MOVBU	R6, (R3)
13*3e12c5d1SDavid du Colombier	ADDU	$1, R3
14*3e12c5d1SDavid du Colombier	BEQ	R4, R6, eq
15*3e12c5d1SDavid du Colombier	BNE	R2, R5, l1
16*3e12c5d1SDavid du Colombier	MOVW	$0, R1
17*3e12c5d1SDavid du Colombier	RET
18*3e12c5d1SDavid du Colombier
19*3e12c5d1SDavid du Colombiereq:	MOVW	R3, R1
20*3e12c5d1SDavid du Colombierret:	RET
21