#ifndef I386_BITOPS_H
#define I386_BITOPS_H

/**
 * log2 - Find the truncated log base 2 of x
 */

static inline unsigned long log2(unsigned long x)
{
	unsigned long r = 0;
	__asm__(
		"bsrl %1, %0\n\t"
		"jnz 1f\n\t"
		"movl $-1, %0\n\t"
		"1:\n\t"
		: "=r" (r) : "g" (x));
	return r;
		
}
#endif /* I386_BITOPS_H */
