Annotation of sys/lib/libkern/arch/amd64/memchr.S, Revision 1.1
1.1 ! nbrk 1: /*
! 2: * Written by J.T. Conklin <jtc@netbsd.org>.
! 3: * Public domain.
! 4: * Adapted for NetBSD/x86_64 by Frank van der Linden <fvdl@wasabisystems.com>
! 5: */
! 6:
! 7: #include <machine/asm.h>
! 8:
! 9: #if defined(LIBC_SCCS)
! 10: RCSID("$NetBSD: memchr.S,v 1.1 2001/06/19 00:22:46 fvdl Exp $")
! 11: #endif
! 12:
! 13: ENTRY(memchr)
! 14: movb %sil,%al /* set character to search for */
! 15: movq %rdx,%rcx /* set length of search */
! 16: testq %rcx,%rcx /* test for len == 0 */
! 17: jz L1
! 18: cld /* set search forward */
! 19: repne /* search! */
! 20: scasb
! 21: jne L1 /* scan failed, return null */
! 22: leaq -1(%rdi),%rax /* adjust result of scan */
! 23: ret
! 24: L1: xorq %rax,%rax
! 25: ret
CVSweb