summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorpinskia <pinskia@138bc75d-0d04-0410-961f-82ee72b054a4>2015-08-24 09:56:48 +0000
committerpinskia <pinskia@138bc75d-0d04-0410-961f-82ee72b054a4>2015-08-24 09:56:48 +0000
commit7b30250d093373c0a268ba567986a17209f09b18 (patch)
tree38ce6c7802f27e5a9b4a83833e9cee59ab3b4bf6
parent300854eea97a480acdae9dc3692f8596f69454bd (diff)
downloadgcc-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
-rw-r--r--gcc/ChangeLog10
-rw-r--r--gcc/config/aarch64/aarch64-protos.h24
-rw-r--r--gcc/config/aarch64/aarch64-tuning-flags.def8
-rw-r--r--gcc/config/aarch64/aarch64.c2
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[] =
{