bcmp.S revision 1.1
1#include <machine/asm.h>
2
3#if defined(LIBC_SCCS)
4	RCSID("$NetBSD: bcmp.S,v 1.1 2001/06/19 00:22:45 fvdl Exp $")
5#endif
6
7ENTRY(bcmp)
8	xorl	%eax,%eax		/* clear return value */
9	cld				/* set compare direction forward */
10
11	movq	%rdx,%rcx		/* compare by words */
12	shrq	$3,%rcx
13	repe
14	cmpsq
15	jne	L1
16
17	movq	%rdx,%rcx		/* compare remainder by bytes */
18	andq	$7,%rcx
19	repe
20	cmpsb
21	je	L2
22
23L1:	incl	%eax
24L2:	ret
25