PING: PATCH: Use int64 for x86 options
H.J. Lu
hjl.tools@gmail.com
Sat Aug 6 16:05:00 GMT 2011
Ping. AVX2 support depends on this patch.
Thanks.
On Thu, Aug 4, 2011 at 5:49 PM, H.J. Lu <hjl.tools@gmail.com> wrote:
> On Thu, Aug 4, 2011 at 4:44 PM, H.J. Lu <hjl.tools@gmail.com> wrote:
>> On Thu, Aug 4, 2011 at 3:46 PM, Joseph S. Myers <joseph@codesourcery.com> wrote:
>>> On Thu, 4 Aug 2011, H.J. Lu wrote:
>>>
>>>> Here is the updated patch to get proper HOST_WIDE_INT bits and 1
>>>> through a new file, opt-gen.c. OK for trunk?
>>>
>>> Using another generator program like this can't be the best approach
>>> (apart from anything else, when built for the build system hwint.h should
>>> reflect the build system types not the host system types; cf.
>>> <http://gcc.gnu.org/ml/gcc/2010-08/msg00111.html> where I suspected that
>>> sort of host/build confusion of causing a reported build failure).
>>>
>>> You want opth-gen.awk to know the number of bits to give errors. Note
>>> that the errors are given by generating #error into the output file. It's
>>> easy enough to generate #if conditions into the file that compare with
>>> HOST_BITS_PER_WIDE_INT.
>>>
>>> You want opth-gen.awk to know whether to use 1LL as the shifted constant.
>>> You can easily enough make hwint.h contain a HOST_WIDE_INT_1 macro,
>>> defined to 1L or 1LL as appropriate.
>>>
>>
>>
>> Here is the updated patch. OK for trunk?
>>
>
> Small update. Replace 1LL with HOST_WIDE_INT_1 in PTA_XXX.
> OK for trunk?
>
> Thanks.
>
> --
> H.J.
> ---
> 2011-08-04 H.J. Lu <hongjiu.lu@intel.com>
> Igor Zamyatin <igor.zamyatin@intel.com>
>
> * hwint.h (HOST_WIDE_INT_1): New.
>
> * opt-functions.awk (switch_bit_fields): Initialize the
> host_wide_int field.
> (host_wide_int_var_name): New.
> (var_type_struct): Check and return HOST_WIDE_INT.
>
> * opt-read.awk: Handle HOST_WIDE_INT for "Variable".
>
> * optc-save-gen.awk: Support HOST_WIDE_INT on var_target_other.
>
> * opth-gen.awk: Use HOST_WIDE_INT_1 on HOST_WIDE_INT. Properly
> check masks for HOST_WIDE_INT.
>
> * opts-common.c (set_option): Support HOST_WIDE_INT Flag_var.
>
> * opts.h (cl_option): Add cl_host_wide_int. Change var_value
> to HOST_WIDE_INT.
>
> * config/i386/i386-c.c (ix86_target_macros_internal): Replace int
> with HOST_WIDE_INT for isa_flag.
> (ix86_pragma_target_parse): Replace int with HOST_WIDE_INT for
> isa variables.
>
> * config/i386/i386.c (ix86_target_string): Replace int with
> HOST_WIDE_INT for isa. Use HOST_WIDE_INT_PRINT to print isa.
> (ix86_target_opts): Replace int with HOST_WIDE_INT on mask.
> (pta_flags): Removed.
> (PTA_XXX): Redefined as (HOST_WIDE_INT_1 << X).
> (pta): Use HOST_WIDE_INT on flags.
> (builtin_isa): Use HOST_WIDE_INT on isa.
> (ix86_add_new_builtins): Likewise.
> (def_builtin): Use HOST_WIDE_INT on mask.
> (def_builtin_const): Likewise.
> (builtin_description): Likewise.
>
> * config/i386/i386.opt (ix86_isa_flags): Replace int with
> HOST_WIDE_INT.
> (ix86_isa_flags_explicit): Likewise.
> (x_ix86_isa_flags_explicit): Likewise.
>
--
H.J.
More information about the Gcc
mailing list