+++ /dev/null
-/* $OpenBSD: ffs.c,v 1.1 2018/01/30 20:15:25 otto Exp $ */
-
-/*
- * Public domain.
- * Written by Dale Rahn.
- */
-
-#include <string.h>
-
-/*
- * ffs -- vax ffs instruction
- */
-int
-ffs(int mask)
-{
- int bit;
- unsigned int r = mask;
- static const signed char t[16] = {
- -28, 1, 2, 1,
- 3, 1, 2, 1,
- 4, 1, 2, 1,
- 3, 1, 2, 1
- };
-
- bit = 0;
- if (!(r & 0xffff)) {
- bit += 16;
- r >>= 16;
- }
- if (!(r & 0xff)) {
- bit += 8;
- r >>= 8;
- }
- if (!(r & 0xf)) {
- bit += 4;
- r >>= 4;
- }
-
- return (bit + t[ r & 0xf ]);
-}