Committer: Michael Beasley <mike@snafu.setup>
[mikesnafu-overlay.git] / arch / sparc64 / lib / strncmp.S
blob6f14f53dbabe4f08b3c0dc08811a35e0d9c24a23
1 /* $Id: strncmp.S,v 1.2 1997/03/11 17:51:44 jj Exp $
2  * Sparc64 optimized strncmp code.
3  *
4  * Copyright (C) 1997 Jakub Jelinek (jj@sunsite.mff.cuni.cz)
5  */
7 #include <asm/asi.h>
9         .text
10         .align  32
11         .globl  strncmp
12         .type   strncmp,#function
13 strncmp:
14         brlez,pn %o2, 3f
15          lduba  [%o0] (ASI_PNF), %o3
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
27         retl
28          sub    %o3, %o4, %o0
30         retl
31          clr    %o0
32         .size   strncmp, .-strncmp