shithub: hj264

ref: 4968057b69842a4e3a73149fb26c01a25a69b935
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);
}