Linus Torvalds <torvalds@transmeta.com> writes:
> Clearly you're not going to make _one_ load to get fls, since having
> a 4GB lookup array for a 32-bit fls would be "somewhat" wasteful.
>
> So the lookup table would probably look up just the last 8 bits.
>
> So the lookup table version is several instructions in itself, doing
> about half of what the calculating version needs to do _anyway_.
Right.
> Including those data-dependent branches.
Well, at least on Alpha, gcc can optimize them all away except one.
Note I'm not really arguing Linux should use a lookup table for fls;
I'm just arguing putting it as default into libgcc for architectures
that don't provide a special version (which aren't particularly many)
isn't stupid. But probably I'm just biased, because I put it there :)
-- Falk - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
This archive was generated by hypermail 2b29 : Wed Apr 30 2003 - 22:00:35 EST