Back to home page

OSCL-LXR

 
 

    


0001 /* SPDX-License-Identifier: GPL-2.0 */
0002 /*
0003  * Sparc64 optimized strncmp code.
0004  *
0005  * Copyright (C) 1997 Jakub Jelinek (jj@sunsite.mff.cuni.cz)
0006  */
0007 
0008 #include <linux/linkage.h>
0009 #include <asm/asi.h>
0010 #include <asm/export.h>
0011 
0012     .text
0013 ENTRY(strncmp)
0014     brlez,pn %o2, 3f
0015      lduba  [%o0] (ASI_PNF), %o3
0016 1:
0017     add %o0, 1, %o0
0018     ldub    [%o1], %o4
0019     brz,pn  %o3, 2f
0020      add    %o1, 1, %o1
0021     cmp %o3, %o4
0022     bne,pn  %icc, 2f
0023      subcc  %o2, 1, %o2
0024     bne,a,pt %xcc, 1b
0025      ldub   [%o0], %o3
0026 2:
0027     retl
0028      sub    %o3, %o4, %o0
0029 3:
0030     retl
0031      clr    %o0
0032 ENDPROC(strncmp)
0033 EXPORT_SYMBOL(strncmp)