diff options
author | Richard Henderson <rth@twiddle.net> | 2013-02-13 17:47:34 -0800 |
---|---|---|
committer | Blue Swirl <blauwirbel@gmail.com> | 2013-02-16 11:09:05 +0000 |
commit | 0165437302448d210742cc3def362d1de0413621 (patch) | |
tree | 121ccfde5426fe56c88b2e26144e8261d4e0fd05 /include | |
parent | 38dad9e574746981dfbac52b3bbbd6d894f31d26 (diff) |
host-utils: Add host long specific aliases for clz, ctz, ctpop
We will standardize on these names, rather than the similar routines
currently residing in qemu/bitops.h.
Signed-off-by: Richard Henderson <rth@twiddle.net>
Reviewed-by: Eric Blake <eblake@redhat.com>
Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
Diffstat (limited to 'include')
-rw-r--r-- | include/qemu/host-utils.h | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/include/qemu/host-utils.h b/include/qemu/host-utils.h index 81c9a754ae..d72b72d88f 100644 --- a/include/qemu/host-utils.h +++ b/include/qemu/host-utils.h @@ -26,6 +26,7 @@ #define HOST_UTILS_H 1 #include "qemu/compiler.h" /* QEMU_GNUC_PREREQ */ +#include <limits.h> #if defined(__x86_64__) #define __HAVE_FAST_MULU64__ @@ -237,4 +238,22 @@ static inline int ctpop64(uint64_t val) #endif } +/* Host type specific sizes of these routines. */ + +#if ULONG_MAX == UINT32_MAX +# define clzl clz32 +# define ctzl ctz32 +# define clol clo32 +# define ctol cto32 +# define ctpopl ctpop32 +#elif ULONG_MAX == UINT64_MAX +# define clzl clz64 +# define ctzl ctz64 +# define clol clo64 +# define ctol cto64 +# define ctpopl ctpop64 +#else +# error Unknown sizeof long +#endif + #endif |