diff options
author | pinskia <pinskia@138bc75d-0d04-0410-961f-82ee72b054a4> | 2015-08-24 09:56:48 +0000 |
---|---|---|
committer | pinskia <pinskia@138bc75d-0d04-0410-961f-82ee72b054a4> | 2015-08-24 09:56:48 +0000 |
commit | 7b30250d093373c0a268ba567986a17209f09b18 (patch) | |
tree | 38ce6c7802f27e5a9b4a83833e9cee59ab3b4bf6 /gcc | |
parent | 300854eea97a480acdae9dc3692f8596f69454bd (diff) | |
download | gcc-7b30250d093373c0a268ba567986a17209f09b18.tar.gz |
Remove the hack for AARCH64_EXTRA_TUNE_ALL.
2015-08-24 Andrew Pinski <apinski@cavium.com>
* config/aarch64/aarch64-tuning-flags.def: Remove all index to
AARCH64_EXTRA_TUNING_OPTION.
* config/aarch64/aarch64-protos.h (aarch64_extra_tuning_flags_index): New enum.
(aarch64_extra_tuning_flags): Base the shifted value on the index instead
of the argument to AARCH64_EXTRA_TUNING_OPTION.
* config/aarch64/aarch64.c: Remove the last argument to
AARCH64_EXTRA_TUNING_OPTION.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@227117 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 10 | ||||
-rw-r--r-- | gcc/config/aarch64/aarch64-protos.h | 24 | ||||
-rw-r--r-- | gcc/config/aarch64/aarch64-tuning-flags.def | 8 | ||||
-rw-r--r-- | gcc/config/aarch64/aarch64.c | 2 |
4 files changed, 28 insertions, 16 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index d52be70014e..b1a7f9cfbe6 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,13 @@ +2015-08-24 Andrew Pinski <apinski@cavium.com> + + * config/aarch64/aarch64-tuning-flags.def: Remove all index to + AARCH64_EXTRA_TUNING_OPTION. + * config/aarch64/aarch64-protos.h (aarch64_extra_tuning_flags_index): New enum. + (aarch64_extra_tuning_flags): Base the shifted value on the index instead + of the argument to AARCH64_EXTRA_TUNING_OPTION. + * config/aarch64/aarch64.c: Remove the last argument to + AARCH64_EXTRA_TUNING_OPTION. + 2015-08-23 Nathan Sidwell <nathan@acm.org> * config/nvptx/nvptx.c (walk_args_for_param): Promote arg reg diff --git a/gcc/config/aarch64/aarch64-protos.h b/gcc/config/aarch64/aarch64-protos.h index be3cbe17a73..4b3cbedbd0a 100644 --- a/gcc/config/aarch64/aarch64-protos.h +++ b/gcc/config/aarch64/aarch64-protos.h @@ -222,21 +222,25 @@ enum aarch64_fusion_pairs }; #undef AARCH64_FUSION_PAIR -#define AARCH64_EXTRA_TUNING_OPTION(x, name, index) \ - AARCH64_EXTRA_TUNE_##name = (1 << index), +#define AARCH64_EXTRA_TUNING_OPTION(x, name) \ + AARCH64_EXTRA_TUNE_##name##_index, +/* Supported tuning flags indexes. */ +enum aarch64_extra_tuning_flags_index +{ +#include "aarch64-tuning-flags.def" + AARCH64_EXTRA_TUNE_index_END +}; +#undef AARCH64_EXTRA_TUNING_OPTION + + +#define AARCH64_EXTRA_TUNING_OPTION(x, name) \ + AARCH64_EXTRA_TUNE_##name = (1u << AARCH64_EXTRA_TUNE_##name##_index), /* Supported tuning flags. */ enum aarch64_extra_tuning_flags { AARCH64_EXTRA_TUNE_NONE = 0, #include "aarch64-tuning-flags.def" - -/* Hacky macro to build the "all" flag mask. - Expands to 0 | AARCH64_TUNE_index0 | AARCH64_TUNE_index1 , etc. */ -#undef AARCH64_EXTRA_TUNING_OPTION -#define AARCH64_EXTRA_TUNING_OPTION(x, name, y) \ - | AARCH64_EXTRA_TUNE_##name - AARCH64_EXTRA_TUNE_ALL = 0 -#include "aarch64-tuning-flags.def" + AARCH64_EXTRA_TUNE_ALL = (1u << AARCH64_EXTRA_TUNE_index_END) - 1 }; #undef AARCH64_EXTRA_TUNING_OPTION diff --git a/gcc/config/aarch64/aarch64-tuning-flags.def b/gcc/config/aarch64/aarch64-tuning-flags.def index 01aaca83594..628386b5a1d 100644 --- a/gcc/config/aarch64/aarch64-tuning-flags.def +++ b/gcc/config/aarch64/aarch64-tuning-flags.def @@ -20,15 +20,13 @@ /* Additional control over certain tuning parameters. Before including this file, define a macro: - AARCH64_EXTRA_TUNING_OPTION (name, internal_name, index_bit) + AARCH64_EXTRA_TUNING_OPTION (name, internal_name) Where: NAME is a string giving a friendly name for the tuning flag. INTERNAL_NAME gives the internal name suitable for appending to - AARCH64_TUNE_ to give an enum name. - INDEX_BIT is the bit to set in the bitmask of supported tuning - flags. */ + AARCH64_TUNE_ to give an enum name. */ -AARCH64_EXTRA_TUNING_OPTION ("rename_fma_regs", RENAME_FMA_REGS, 0) +AARCH64_EXTRA_TUNING_OPTION ("rename_fma_regs", RENAME_FMA_REGS) diff --git a/gcc/config/aarch64/aarch64.c b/gcc/config/aarch64/aarch64.c index c666dceb41c..87bbf6e7988 100644 --- a/gcc/config/aarch64/aarch64.c +++ b/gcc/config/aarch64/aarch64.c @@ -182,7 +182,7 @@ static const struct aarch64_flag_desc aarch64_fusible_pairs[] = }; #undef AARCH64_FUION_PAIR -#define AARCH64_EXTRA_TUNING_OPTION(name, internal_name, y) \ +#define AARCH64_EXTRA_TUNING_OPTION(name, internal_name) \ { name, AARCH64_EXTRA_TUNE_##internal_name }, static const struct aarch64_flag_desc aarch64_tuning_flags[] = { |