This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: PATCH [7/n]: Prepare x32: Use Use long long builtin for x86-64
- From: "H.J. Lu" <hjl dot tools at gmail dot com>
- To: Uros Bizjak <ubizjak at gmail dot com>
- Cc: gcc-patches at gcc dot gnu dot org, Kai Tietz <ktietz70 at googlemail dot com>, Jakub Jelinek <jakub at redhat dot com>
- Date: Sat, 18 Jun 2011 08:33:27 -0700
- Subject: Re: PATCH [7/n]: Prepare x32: Use Use long long builtin for x86-64
- References: <20110614160407.GA19465@intel.com> <BANLkTikeGxOTnP3PuoUKTT7e6ir9AjwHYA@mail.gmail.com>
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.