Fix MIPS FFS implementation

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20536 a1c6a512-1295-4272-9138-f99709370657
This commit is contained in:
Maurus Cuelenaere 2009-03-25 21:19:51 +00:00
parent 9cfcc2b9ae
commit 6432363476

View file

@ -40,11 +40,14 @@
.type find_first_set_bit, %function
find_first_set_bit:
negu t0, a0 # t0 = a0 & -a0
and t0, t0, a0 #
clz v0, t0 # Get lead 0's count
beqz a0, 0 # if(a0 == 0) goto 1
li v0, 32 # v0 = 32
negu t0, a0 # t0 = -a0
and t0, t0, a0 # t0 = a0 & t0
clz v0, t0 # Get lead 0's count (v0=32 if all 0's)
li t0, 31 # t0 = 31
sub v0, t0, v0 # Return value = t0 - v0
jr ra
nop
jr ra #
sub v0, t0, v0 # v0 = t0 - v0
1:
jr ra #
nop #