xref: /openbsd-src/lib/libc/arch/amd64/string/bcmp.S (revision f2da64fbbbf1b03f09f390ab01267c93dfd77c4c)
1#include "DEFS.h"
2
3ENTRY(bcmp)
4	xorl	%eax,%eax		/* clear return value */
5	cld				/* set compare direction forward */
6
7	movq	%rdx,%rcx		/* compare by words */
8	shrq	$3,%rcx
9	repe
10	cmpsq
11	jne	L1
12
13	movq	%rdx,%rcx		/* compare remainder by bytes */
14	andq	$7,%rcx
15	repe
16	cmpsb
17	je	L2
18
19L1:	incl	%eax
20L2:	ret
21END_WEAK(bcmp)
22