On Tue, Jun 14, 2011 at 10:37 AM, Uros Bizjak <ubiz...@gmail.com> wrote: > On Tue, Jun 14, 2011 at 6:04 PM, H.J. Lu <hongjiu...@intel.com> wrote: > >> long may be 32bit for x86-64. But long long is always 64bit. This >> patch uses long long builtin for 64bit. OK for trunk? >> >> Thanks. >> >> >> H.J. >> --- >> 2011-06-14 H.J. Lu <hongjiu...@intel.com> >> >> * longlong.h (count_leading_zeros): Use long long builtin for >> x86-64. >> (count_trailing_zeros): Likewise. >> >> diff --git a/gcc/longlong.h b/gcc/longlong.h >> index 1bab76d..d5c0cd9 100644 >> --- a/gcc/longlong.h >> +++ b/gcc/longlong.h >> @@ -430,8 +430,8 @@ UDItype __umulsidi3 (USItype, USItype); >> : "0" ((UDItype) (n0)), \ >> "1" ((UDItype) (n1)), \ >> "rm" ((UDItype) (dv))) >> -#define count_leading_zeros(count, x) ((count) = __builtin_clzl (x)) >> -#define count_trailing_zeros(count, x) ((count) = __builtin_ctzl (x)) >> +#define count_leading_zeros(count, x) ((count) = __builtin_clzll (x)) >> +#define count_trailing_zeros(count, x) ((count) = __builtin_ctzll (x)) >> #define UMUL_TIME 40 >> #define UDIV_TIME 40 >> #endif /* x86_64 */ > > Uh, this is also needed for MingW (LLP64 target). > > The patch is OK for SVN and release branches, but please also wait for > approval from MingW maintainer. >
I am checking it in. I will investigate if there is any issue. -- H.J.