blob: 7befc0bcbbea1afee14eefa84a564014e98f0010 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
|
/* $OpenBSD: ffs.S,v 1.5 2017/08/19 18:25:50 deraadt Exp $ */
/*
* Written by J.T. Conklin <jtc@netbsd.org>.
* Public domain.
*/
#include "SYS.h"
ENTRY(ffs)
bsfl 4(%esp),%eax
jz L1 /* ZF is set if all bits are 0 */
incl %eax /* bits numbered from 1, not 0 */
ret
.align 2,0xcc
L1: xorl %eax,%eax /* clear result */
ret
END_WEAK(ffs)
|