
# BitSize(r3:LONG)(LONG)

	.text
	.global	_BitSize

_BitSize:
	cntlzw	r4,r3
	li	r5,32
	sub.	r4,r5,r4		# r4 contains hibit value
	beq	.zero
	li	r5,0
.loop:	li	r6,1
	slw.	r0,r6,r5
	and.	r0,r3,r0
	bne	.finish
	addi	r5,r5,1
	cmpw	r5,r4
	ble	.loop
.finish:	sub	r3,r4,r5
	blr
.zero:	li	r3,0
	blr

	.type	_BitSize,@function
	.size	_BitSize,$-_BitSize
