shithub: scc

ref: 4886e44d6ea86d65f31eb6ecbfa8f82cac9c2fa0
dir: /src/libc/arch/amd64/strcmp.s/

View raw version
	.file "strcmp.s"

	.text
	.globl	strcmp,_strcmp
_strcmp:
strcmp:
	movq	%rdi,%r8
	movb	$0,%al
	movq	$-1,%rcx
	cld
	repne
	scasb

	leaq	-1(%rdi),%rcx
	subq	%r8,%rcx
	movq	%r8,%rdi

	xor	%rax,%rax	/* set ZF to 1 */

	movq	%rdi,%r8
	movq	%rsi,%rdi
	movq	%r8,%rsi
	rep
	cmpsb
	je	equa
	jb	less
	ja	grea

grea:
	movq	$1,%rax
	ret

less:
	movq	$-1,%rax
	ret

equa:
	movq	$0,%rax
	ret