]> git.karo-electronics.de Git - karo-tx-linux.git/commit
tile: fix bug where fls(0) was not returning 0
authorChris Metcalf <cmetcalf@tilera.com>
Fri, 25 May 2012 16:32:09 +0000 (12:32 -0400)
committerBen Hutchings <ben@decadent.org.uk>
Wed, 30 May 2012 23:44:03 +0000 (00:44 +0100)
commit10c9eea8f9831180c52bfbb0ddf9af6e51989a41
tree7e73cf78effed8e6ad1a713ded34fdcdbaf935b9
parentada120d8941283a3e921c9f81cb8748f6924aa40
tile: fix bug where fls(0) was not returning 0

commit 9f1d62bed7f015d11b9164078b7fea433b474114 upstream.

This is because __builtin_clz(0) returns 64 for the "undefined" case
of 0, since the builtin just does a right-shift 32 and "clz" instruction.
So, use the alpha approach of casting to u32 and using __builtin_clzll().

Signed-off-by: Chris Metcalf <cmetcalf@tilera.com>
Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
arch/tile/include/asm/bitops.h