1
0
Fork 0
forked from len0rd/rockbox

Really fix it

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20538 a1c6a512-1295-4272-9138-f99709370657
This commit is contained in:
Maurus Cuelenaere 2009-03-25 22:29:49 +00:00
parent 6432363476
commit 52cb340962

View file

@ -40,14 +40,15 @@
.type find_first_set_bit, %function
find_first_set_bit:
beqz a0, 0 # if(a0 == 0) goto 1
li v0, 32 # v0 = 32
beqz a0, l # if(a0 == 0) goto l
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)
and t0, a0, t0 # t0 = a0 & t0
clz v0, a0 # Get lead 0's count (v0=32 if all 0's)
li t0, 31 # t0 = 31
jr ra #
sub v0, t0, v0 # v0 = t0 - v0
1:
subu v0, t0, v0 # v0 = t0 - v0
jr ra #
nop #
l:
li v0, 32 # v0 = 32 (don't put this after jr ra!
jr ra # binutils bug?)
nop #