This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: PATCH [7/n]: Prepare x32: Use Use long long builtin for x86-64


On Tue, Jun 14, 2011 at 10:37 AM, Uros Bizjak <ubizjak@gmail.com> wrote:
> On Tue, Jun 14, 2011 at 6:04 PM, H.J. Lu <hongjiu.lu@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.lu@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.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]