File: memcmp.S

package info (click to toggle)
kernel-source-2.4.14 2.4.14-1
  • links: PTS
  • area: main
  • in suites: woody
  • size: 139,160 kB
  • ctags: 428,423
  • sloc: ansic: 2,435,554; asm: 141,119; makefile: 8,258; sh: 3,099; perl: 2,561; yacc: 1,177; cpp: 755; tcl: 577; lex: 352; awk: 251; lisp: 218; sed: 72
file content (28 lines) | stat: -rw-r--r-- 622 bytes parent folder | download | duplicates (10)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
/* $Id: memcmp.S,v 1.3 2000/03/23 07:51:08 davem Exp $
 * Sparc64 optimized memcmp code.
 *
 * Copyright (C) 1997 Jakub Jelinek (jj@sunsite.mff.cuni.cz)
 * Copyright (C) 2000 David S. Miller (davem@redhat.com)
 */

	.text
	.align	32
	.globl	__memcmp, memcmp
__memcmp:
memcmp:
	cmp	%o2, 0		! IEU1	Group
loop:	be,pn	%icc, ret_0	! CTI
	 nop			! IEU0
	ldub	[%o0], %g5	! LSU	Group
	ldub	[%o1], %g3	! LSU	Group
	sub	%o2, 1, %o2	! IEU0
	add	%o0, 1, %o0	! IEU1
	add	%o1, 1, %o1	! IEU0	Group
	subcc	%g5, %g3, %g3	! IEU1	Group
	be,pt	%icc, loop	! CTI
	 cmp	%o2, 0		! IEU1	Group

ret_n0:	retl
	 mov	%g3, %o0
ret_0:	retl
	 mov	0, %o0