xref: /openbsd/sys/lib/libkern/arch/amd64/strchr.S (revision 404b540a)
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
9ENTRY(strchr)
10	movq	%rdi,%rax
11	movb	%sil,%cl
12L1:
13	movb	(%rax),%dl
14	cmpb	%dl,%cl			/* found char? */
15	je 	L2
16	incq	%rax
17	testb	%dl,%dl			/* null terminator? */
18	jnz	L1
19	xorq	%rax,%rax
20L2:
21	ret
22