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/export.h> |
9 | #include <linux/linkage.h> |
10 | #include <asm/asi.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 | |