1 /* SPDX-License-Identifier: GPL-2.0 */
2 /*
3  * Sparc64 optimized strncmp code.
4  *
5  * Copyright (C) 1997 Jakub Jelinek (jj@sunsite.mff.cuni.cz)
6  */
7 
8 #include <linux/linkage.h>
9 #include <asm/asi.h>
10 #include <asm/export.h>
11 
12 	.text
13 ENTRY(strncmp)
14 	brlez,pn %o2, 3f
15 	 lduba	[%o0] (ASI_PNF), %o3
16 1:
17 	add	%o0, 1, %o0
18 	ldub	[%o1], %o4
19 	brz,pn	%o3, 2f
20 	 add	%o1, 1, %o1
21 	cmp	%o3, %o4
22 	bne,pn	%icc, 2f
23 	 subcc	%o2, 1, %o2
24 	bne,a,pt %xcc, 1b
25 	 ldub	[%o0], %o3
26 2:
27 	retl
28 	 sub	%o3, %o4, %o0
29 3:
30 	retl
31 	 clr	%o0
32 ENDPROC(strncmp)
33 EXPORT_SYMBOL(strncmp)
34