diff options
author | Richard Henderson <rth@twiddle.net> | 2013-02-13 17:47:40 -0800 |
---|---|---|
committer | Blue Swirl <blauwirbel@gmail.com> | 2013-02-16 11:12:29 +0000 |
commit | 14e534265aad0796690a5aea429f5bd2877ccff0 (patch) | |
tree | f737f58d1007171c24c9cdb696d60bbd2f7e298b | |
parent | 0cfa6adc7fd1eba4694515bde6bbfb9ecd892f2f (diff) |
target-i386: Inline bitops_flsl
Use clz32 directly. Which makes slightly more sense given
that the input is type "int" and not type "long".
Signed-off-by: Richard Henderson <rth@twiddle.net>
Reviewed-by: Eric Blake <eblake@redhat.com>
Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
-rw-r--r-- | target-i386/topology.h | 6 |
1 files changed, 2 insertions, 4 deletions
diff --git a/target-i386/topology.h b/target-i386/topology.h index 24ed525453..07a6c5fb55 100644 --- a/target-i386/topology.h +++ b/target-i386/topology.h @@ -52,10 +52,8 @@ typedef uint32_t apic_id_t; static unsigned apicid_bitwidth_for_count(unsigned count) { g_assert(count >= 1); - if (count == 1) { - return 0; - } - return bitops_flsl(count - 1) + 1; + count -= 1; + return count ? 32 - clz32(count) : 0; } /* Bit width of the SMT_ID (thread ID) field on the APIC ID |