Re: [RFC][PATCH] Faster generic_fls

Falk Hueffner (falk.hueffner@student.uni-tuebingen.de)
30 Apr 2003 18:43:19 +0200


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/