Subversion Repositories HelenOS-historic

Compare Revisions

Ignore whitespace Rev 771 → Rev 772

/kernel/trunk/generic/include/bitops.h
40,11 → 40,11
{
int n = 0;
 
if (arg & 0xffff0000) { arg >>= 16;n += 16;}
if (arg & 0xff00) { arg >>= 8; n += 8;}
if (arg & 0xf0) { arg >>= 4; n += 4;}
if (arg & 0xc) { arg >>= 2; n+=2;}
if (arg & 0x2) { arg >>= 1; n+=1;}
if (arg >> 16) { arg >>= 16;n += 16;}
if (arg >> 8) { arg >>= 8; n += 8;}
if (arg >> 4) { arg >>= 4; n += 4;}
if (arg >> 2) { arg >>= 2; n+=2;}
if (arg >> 1) { arg >>= 1; n+=1;}
return n;
}
 
52,12 → 52,7
{
int n = 0;
 
/* This is because mips complains about big numbers,
* other platforms should optimize it out */
__u64 oper = 0xffffffff;
oper <<= 32;
 
if (arg & oper) { arg >>= 32;n += 32;}
if (arg >> 32) { arg >>= 32;n += 32;}
return n + fnzb32((__u32) arg);
}