@@ -231,8 +231,19 @@ 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 = (1 << AARCH64_EXTRA_TUNE_##name##_index),
/* Supported tuning flags. */
enum aarch64_extra_tuning_flags
{
@@ -242,7 +253,7 @@ enum aarch64_extra_tuning_flags
/* 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) \
+#define AARCH64_EXTRA_TUNING_OPTION(x, name) \
| AARCH64_EXTRA_TUNE_##name
AARCH64_EXTRA_TUNE_ALL = 0
#include "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)
@@ -183,7 +183,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[] =
{
Just like the patch for AARCH64_FUSION_PAIR, this is a patch for AARCH64_EXTRA_TUNING_OPTION. Note I tested this patch on top of the patch for AARCH64_EXTRA_TUNING_OPTION. Remove index from AARCH64_FUSION_PAIR Instead of doing an explict index in aarch64-fusion-pairs.def, we should have an enum which does the index instead. This allows you to add/remove them without worrying about the order being correct and having holes or worry about merge conficts. OK? Bootstrapped and tested on aarch64-linux-gnu with no regressions. ChangeLog: * aarch64-fusion-pairs.def: Remove all index to AARCH64_FUSION_PAIR. * config/aarch64/aarch64-protos.h (aarch64_fusion_pairs_index): New enum. (aarch64_fusion_pairs): Base the shifted value on the index instead of the argument to AARCH64_FUSION_PAIR. * config/aarch64/aarch64.c: Remove the last argument to AARCH64_FUSION_PAIR. commit 61a89a2f6939fbc97e18d2137daba7f450ef76b2 Author: Andrew Pinski <apinski@cavium.com> Date: Wed Aug 19 01:15:00 2015 -0700 Remove index from AARCH64_EXTRA_TUNING_OPTION Instead of doing an explict index in aarch64-tuning-flags.def, we should have an enum which does the index instead. This allows you to add/remove them without worrying about the order being correct and having holes or worry about merge conficts. OK? Bootstrapped and tested on aarch64-linux-gnu with no regressions. ChangeLog: ChangeLog: * config/aarch64/aarch64-tuning-flags.def: Remove all index to AARCH64_EXTRA_TUNING_OPTION. * config/aarch64/aarch64-protos.h (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..