2015-10-15 10:25:28 +02:00

25 lines
372 B
ArmAsm

#include <machine/asm.h>
#if defined(LIBC_SCCS)
RCSID("$NetBSD: bcmp.S,v 1.3 2014/03/22 19:16:34 jakllsch Exp $")
#endif
ENTRY(bcmp)
xorl %eax,%eax /* clear return value */
movq %rdx,%rcx /* compare by words */
shrq $3,%rcx
repe
cmpsq
jne L1
movq %rdx,%rcx /* compare remainder by bytes */
andq $7,%rcx
repe
cmpsb
je L2
L1: incl %eax
L2: ret
END(bcmp)