diff options
author | Jakub Jelinek <jakub@redhat.com> | 2018-03-17 12:12:00 +0100 |
---|---|---|
committer | Jakub Jelinek <jakub@gcc.gnu.org> | 2018-03-17 12:12:00 +0100 |
commit | 677956e82fc1b349da319c13053b894ec233deb0 (patch) | |
tree | af6175d8f0fabcbeaa9e9188d07b8cdbaebec014 /gcc | |
parent | a3d6f9bab7f03006f1415313fe905fb2e5d71c68 (diff) | |
download | gcc-677956e82fc1b349da319c13053b894ec233deb0.zip gcc-677956e82fc1b349da319c13053b894ec233deb0.tar.gz gcc-677956e82fc1b349da319c13053b894ec233deb0.tar.bz2 |
re PR target/84902 (549.fotonik3d_r from SPEC2017 fails verification with -Ofast -march=native on Zen since r258518)
PR target/84902
* config/i386/i386.c (initial_ix86_tune_features,
initial_ix86_arch_features): Use unsigned HOST_WIDE_INT rather than
unsigned long long.
(set_ix86_tune_features): Change ix86_tune_mask from unsigned int
to unsigned HOST_WIDE_INT, initialize to HOST_WIDE_INT_1U << ix86_tune
rather than 1u << ix86_tune. Formatting fix.
(ix86_option_override_internal): Change ix86_arch_mask from
unsigned int to unsigned HOST_WIDE_INT, initialize to
HOST_WIDE_INT_1U << ix86_arch rather than 1u << ix86_arch.
(ix86_function_specific_restore): Likewise.
From-SVN: r258618
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 14 | ||||
-rw-r--r-- | gcc/config/i386/i386.c | 17 |
2 files changed, 23 insertions, 8 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 9188921..1063fd8 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,17 @@ +2018-03-17 Jakub Jelinek <jakub@redhat.com> + + PR target/84902 + * config/i386/i386.c (initial_ix86_tune_features, + initial_ix86_arch_features): Use unsigned HOST_WIDE_INT rather than + unsigned long long. + (set_ix86_tune_features): Change ix86_tune_mask from unsigned int + to unsigned HOST_WIDE_INT, initialize to HOST_WIDE_INT_1U << ix86_tune + rather than 1u << ix86_tune. Formatting fix. + (ix86_option_override_internal): Change ix86_arch_mask from + unsigned int to unsigned HOST_WIDE_INT, initialize to + HOST_WIDE_INT_1U << ix86_arch rather than 1u << ix86_arch. + (ix86_function_specific_restore): Likewise. + 2018-03-16 Jakub Jelinek <jakub@redhat.com> PR target/84899 diff --git a/gcc/config/i386/i386.c b/gcc/config/i386/i386.c index 00668b4..f45c756 100644 --- a/gcc/config/i386/i386.c +++ b/gcc/config/i386/i386.c @@ -183,7 +183,7 @@ unsigned char ix86_tune_features[X86_TUNE_LAST]; /* Feature tests against the various tunings used to create ix86_tune_features based on the processor mask. */ -static unsigned long long initial_ix86_tune_features[X86_TUNE_LAST] = { +static unsigned HOST_WIDE_INT initial_ix86_tune_features[X86_TUNE_LAST] = { #undef DEF_TUNE #define DEF_TUNE(tune, name, selector) selector, #include "x86-tune.def" @@ -195,7 +195,7 @@ unsigned char ix86_arch_features[X86_ARCH_LAST]; /* Feature tests against the various architecture variations, used to create ix86_arch_features based on the processor mask. */ -static unsigned long long initial_ix86_arch_features[X86_ARCH_LAST] = { +static unsigned HOST_WIDE_INT initial_ix86_arch_features[X86_ARCH_LAST] = { /* X86_ARCH_CMOV: Conditional move was added for pentiumpro. */ ~(m_386 | m_486 | m_PENT | m_LAKEMONT | m_K6), @@ -3310,7 +3310,7 @@ parse_mtune_ctrl_str (bool dump) static void set_ix86_tune_features (enum processor_type ix86_tune, bool dump) { - unsigned int ix86_tune_mask = 1u << ix86_tune; + unsigned HOST_WIDE_INT ix86_tune_mask = HOST_WIDE_INT_1U << ix86_tune; int i; for (i = 0; i < X86_TUNE_LAST; ++i) @@ -3318,7 +3318,8 @@ set_ix86_tune_features (enum processor_type ix86_tune, bool dump) if (ix86_tune_no_default) ix86_tune_features[i] = 0; else - ix86_tune_features[i] = !!(initial_ix86_tune_features[i] & ix86_tune_mask); + ix86_tune_features[i] + = !!(initial_ix86_tune_features[i] & ix86_tune_mask); } if (dump) @@ -3373,7 +3374,7 @@ ix86_option_override_internal (bool main_args_p, struct gcc_options *opts_set) { int i; - unsigned int ix86_arch_mask; + unsigned HOST_WIDE_INT ix86_arch_mask; const bool ix86_tune_specified = (opts->x_ix86_tune_string != NULL); const wide_int_bitmask PTA_3DNOW (HOST_WIDE_INT_1U << 0); @@ -4234,7 +4235,7 @@ ix86_option_override_internal (bool main_args_p, XDELETEVEC (s); } - ix86_arch_mask = 1u << ix86_arch; + ix86_arch_mask = HOST_WIDE_INT_1U << ix86_arch; for (i = 0; i < X86_ARCH_LAST; ++i) ix86_arch_features[i] = !!(initial_ix86_arch_features[i] & ix86_arch_mask); @@ -5159,7 +5160,7 @@ ix86_function_specific_restore (struct gcc_options *opts, { enum processor_type old_tune = ix86_tune; enum processor_type old_arch = ix86_arch; - unsigned int ix86_arch_mask; + unsigned HOST_WIDE_INT ix86_arch_mask; int i; /* We don't change -fPIC. */ @@ -5210,7 +5211,7 @@ ix86_function_specific_restore (struct gcc_options *opts, /* Recreate the arch feature tests if the arch changed */ if (old_arch != ix86_arch) { - ix86_arch_mask = 1u << ix86_arch; + ix86_arch_mask = HOST_WIDE_INT_1U << ix86_arch; for (i = 0; i < X86_ARCH_LAST; ++i) ix86_arch_features[i] = !!(initial_ix86_arch_features[i] & ix86_arch_mask); |