shithub: hj264

ref: d0c19101cf042a0c4e3e611fc606f32e1c4ae451
dir: hj264/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);
}