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

memcmp.S (563B)


      1/* SPDX-License-Identifier: GPL-2.0 */
      2/* Sparc optimized memcmp code.
      3 *
      4 * Copyright (C) 1997 Jakub Jelinek (jj@sunsite.mff.cuni.cz)
      5 * Copyright (C) 2000, 2008 David S. Miller (davem@davemloft.net)
      6 */
      7
      8#include <linux/linkage.h>
      9#include <asm/asm.h>
     10#include <asm/export.h>
     11
     12	.text
     13ENTRY(memcmp)
     14	cmp	%o2, 0
     151:	BRANCH32(be, pn, 2f)
     16	 nop
     17	ldub	[%o0], %g7
     18	ldub	[%o1], %g3
     19	sub	%o2, 1, %o2
     20	add	%o0, 1, %o0
     21	add	%o1, 1, %o1
     22	subcc	%g7, %g3, %g3
     23	BRANCH32(be, pt, 1b)
     24	 cmp	%o2, 0
     25	retl
     26	 mov	%g3, %o0
     272:	retl
     28	 mov	0, %o0
     29ENDPROC(memcmp)
     30EXPORT_SYMBOL(memcmp)