1b2441318SGreg Kroah-Hartman/* SPDX-License-Identifier: GPL-2.0 */ 2478b8fecSSam Ravnborg/* 3478b8fecSSam Ravnborg * Sparc64 optimized strncmp code. 4478b8fecSSam Ravnborg * 5478b8fecSSam Ravnborg * Copyright (C) 1997 Jakub Jelinek (jj@sunsite.mff.cuni.cz) 6478b8fecSSam Ravnborg */ 7478b8fecSSam Ravnborg 8*4cdb71b6SMasahiro Yamada#include <linux/export.h> 98695c37dSDavid S. Miller#include <linux/linkage.h> 10478b8fecSSam Ravnborg#include <asm/asi.h> 11478b8fecSSam Ravnborg 12478b8fecSSam Ravnborg .text 138695c37dSDavid S. MillerENTRY(strncmp) 14478b8fecSSam Ravnborg brlez,pn %o2, 3f 15478b8fecSSam Ravnborg lduba [%o0] (ASI_PNF), %o3 16478b8fecSSam Ravnborg1: 17478b8fecSSam Ravnborg add %o0, 1, %o0 18478b8fecSSam Ravnborg ldub [%o1], %o4 19478b8fecSSam Ravnborg brz,pn %o3, 2f 20478b8fecSSam Ravnborg add %o1, 1, %o1 21478b8fecSSam Ravnborg cmp %o3, %o4 22478b8fecSSam Ravnborg bne,pn %icc, 2f 23478b8fecSSam Ravnborg subcc %o2, 1, %o2 24478b8fecSSam Ravnborg bne,a,pt %xcc, 1b 25478b8fecSSam Ravnborg ldub [%o0], %o3 26478b8fecSSam Ravnborg2: 27478b8fecSSam Ravnborg retl 28478b8fecSSam Ravnborg sub %o3, %o4, %o0 29478b8fecSSam Ravnborg3: 30478b8fecSSam Ravnborg retl 31478b8fecSSam Ravnborg clr %o0 328695c37dSDavid S. MillerENDPROC(strncmp) 33d3867f04SAl ViroEXPORT_SYMBOL(strncmp) 34