123456789101112131415161718192021222324252627282930313233 |
- /* $OpenBSD: bcmp.S,v 1.3 2014/11/29 18:51:23 tedu Exp $ */
- /*
- * Written by J.T. Conklin <jtc@netbsd.org>.
- * Public domain.
- */
- #include <machine/asm.h>
- ENTRY(bcmp)
- pushl %edi
- pushl %esi
- movl 12(%esp),%edi
- movl 16(%esp),%esi
- xorl %eax,%eax /* clear return value */
- movl 20(%esp),%ecx /* compare by words */
- shrl $2,%ecx
- repe
- cmpsl
- jne L1
- movl 20(%esp),%ecx /* compare remainder by bytes */
- andl $3,%ecx
- repe
- cmpsb
- je L2
- L1: incl %eax
- L2: popl %esi
- popl %edi
- ret
|