cachepc-linux

Fork of AMDESE/linux with modifications for CachePC side-channel attack
git clone https://git.sinitax.com/sinitax/cachepc-linux
Log | Files | Refs | README | LICENSE | sfeed.txt

strncmp_64.S (535B)


      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
     13ENTRY(strncmp)
     14	brlez,pn %o2, 3f
     15	 lduba	[%o0] (ASI_PNF), %o3
     161:
     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
     262:
     27	retl
     28	 sub	%o3, %o4, %o0
     293:
     30	retl
     31	 clr	%o0
     32ENDPROC(strncmp)
     33EXPORT_SYMBOL(strncmp)