shithub: hj264

ref: 98a5c516f0d3c3a604958f27b9808ce63fd8df0a
dir: /builtins.c/

View raw version
int
__builtin_clz(unsigned int x)
{
	unsigned int r;
	if(x == 0)
		return 32;
	for(r = 0; (x & (1UL<<31)) == 0; x <<= 1, r++);
	return r;
}

unsigned int
__builtin_bswap32(unsigned int x)
{
	return ((x >> 24) & 0xff) | ((x >> 8) & 0xff00) | ((x << 8) & 0xff0000) | ((x & 0xff) << 24);
}