1b6cbf720SGianluca Guida#include <machine/asm.h> 2b6cbf720SGianluca Guida 3b6cbf720SGianluca Guida#if defined(LIBC_SCCS) 4*0a6a1f1dSLionel Sambuc RCSID("$NetBSD: bcmp.S,v 1.3 2014/03/22 19:16:34 jakllsch Exp $") 5b6cbf720SGianluca Guida#endif 6b6cbf720SGianluca Guida 7b6cbf720SGianluca GuidaENTRY(bcmp) 8b6cbf720SGianluca Guida xorl %eax,%eax /* clear return value */ 9b6cbf720SGianluca Guida 10b6cbf720SGianluca Guida movq %rdx,%rcx /* compare by words */ 11b6cbf720SGianluca Guida shrq $3,%rcx 12b6cbf720SGianluca Guida repe 13b6cbf720SGianluca Guida cmpsq 14b6cbf720SGianluca Guida jne L1 15b6cbf720SGianluca Guida 16b6cbf720SGianluca Guida movq %rdx,%rcx /* compare remainder by bytes */ 17b6cbf720SGianluca Guida andq $7,%rcx 18b6cbf720SGianluca Guida repe 19b6cbf720SGianluca Guida cmpsb 20b6cbf720SGianluca Guida je L2 21b6cbf720SGianluca Guida 22b6cbf720SGianluca GuidaL1: incl %eax 23b6cbf720SGianluca GuidaL2: ret 24*0a6a1f1dSLionel SambucEND(bcmp) 25