Ping. AVX2 support depends on this patch. Thanks.
On Thu, Aug 4, 2011 at 5:49 PM, H.J. Lu <hjl.to...@gmail.com> wrote: > On Thu, Aug 4, 2011 at 4:44 PM, H.J. Lu <hjl.to...@gmail.com> wrote: >> On Thu, Aug 4, 2011 at 3:46 PM, Joseph S. Myers <jos...@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...@intel.com> > Igor Zamyatin <igor.zamya...@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.