Well, I was trying to supress my megalomania and settle with a single table ;p.
OK, now a bit more serious... How about
:
Code:
move.l d0,d1
subq.l #1,d1
eor.l d1,d0
bfffo d0{0:32},d0
eor.w #31,d0
Clear all bits except the lowest one, then use bfffo to find it.
edit: EOR is my bane...