summaryrefslogtreecommitdiff
path: root/sys/src/libc/power/strncmp.s
blob: c55962faa5a49e5df93408cdef3556b24a19c67e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
TEXT	strncmp(SB), $0
#define	BDNZ	BC	16,0,

	MOVW	s2+4(FP), R4
	MOVW	n+8(FP), R7

	CMP	R7, $0
	MOVW	R7, CTR
	BLE	eq

	SUB	$1, R3
	SUB	$1, R4
l1:
	MOVBZU	1(R3), R5
	MOVBZU	1(R4), R6
	CMP	R5, R6
	BNE	ne
	CMP	R5, $0
	BEQ	eq
	BDNZ	l1
eq:
	MOVW	$0, R3
	RETURN
ne:
	MOVW	$1, R3
	BGT	ret
	MOVW	$-1, R3
ret:
	RETURN