summaryrefslogtreecommitdiff
path: root/common/lib/libc/arch/aarch64/gen/ffsdi2.S
blob: 9245a5d7afac2d76cc6f9a102197c9357f018a99 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
/* $NetBSD: ffsdi2.S,v 1.1 2014/08/10 05:47:35 matt Exp $ */

#include <machine/asm.h>

RCSID("$NetBSD: ffsdi2.S,v 1.1 2014/08/10 05:47:35 matt Exp $")

ENTRY(ffsdi2)
	rbit	x1, x0
	clz	x1, x1
	add	x1, x1, #1
	cmp	x0, #0
	csel	w0, wzr, w1, eq
	ret
END(ffsdi2)