https://gcc.gnu.org/g:deb0e2f61908bdc57b481995fa9e7c5083839a25

commit r15-5173-gdeb0e2f61908bdc57b481995fa9e7c5083839a25
Author: Wilco Dijkstra <wilco.dijks...@arm.com>
Date:   Wed Oct 2 16:34:41 2024 +0000

    AArch64: Cleanup fusion defines
    
    Cleanup the fusion defines by introducing AARCH64_FUSE_BASE as a common base
    level of fusion supported by almost all cores.  Add AARCH64_FUSE_MOVK as a
    shortcut for all MOVK fusion.  In most cases there is no change.  It enables
    AARCH64_FUSE_CMP_BRANCH for a few older cores since it has no measurable
    effect if a core doesn't support it.  Also it may have been accidentally
    left out on some cores that support all other types of branch fusion.
    
    gcc/ChangeLog:
    
            * config/aarch64/aarch64-fusion-pairs.def (AARCH64_FUSE_BASE): New 
define.
            (AARCH64_FUSE_MOVK): Likewise.
            * config/aarch64/tuning_models/a64fx.h: Update.
            * config/aarch64/tuning_models/ampere1.h: Likewise.
            * config/aarch64/tuning_models/ampere1a.h: Likewise.
            * config/aarch64/tuning_models/ampere1b.h: Likewise.
            * config/aarch64/tuning_models/cortexa35.h: Likewise.
            * config/aarch64/tuning_models/cortexa53.h: Likewise.
            * config/aarch64/tuning_models/cortexa57.h: Likewise.
            * config/aarch64/tuning_models/cortexa72.h: Likewise.
            * config/aarch64/tuning_models/cortexa73.h: Likewise.
            * config/aarch64/tuning_models/cortexx925.h: Likewise.
            * config/aarch64/tuning_models/exynosm1.h: Likewise.
            * config/aarch64/tuning_models/fujitsu_monaka.h: Likewise.
            * config/aarch64/tuning_models/generic.h: Likewise.
            * config/aarch64/tuning_models/generic_armv8_a.h: Likewise.
            * config/aarch64/tuning_models/generic_armv9_a.h: Likewise.
            * config/aarch64/tuning_models/neoverse512tvb.h: Likewise.
            * config/aarch64/tuning_models/neoversen1.h: Likewise.
            * config/aarch64/tuning_models/neoversen2.h: Likewise.
            * config/aarch64/tuning_models/neoversen3.h: Likewise.
            * config/aarch64/tuning_models/neoversev1.h: Likewise.
            * config/aarch64/tuning_models/neoversev2.h: Likewise.
            * config/aarch64/tuning_models/neoversev3.h: Likewise.
            * config/aarch64/tuning_models/neoversev3ae.h: Likewise.
            * config/aarch64/tuning_models/qdf24xx.h: Likewise.
            * config/aarch64/tuning_models/saphira.h: Likewise.
            * config/aarch64/tuning_models/thunderx2t99.h: Likewise.
            * config/aarch64/tuning_models/thunderx3t110.h: Likewise.
            * config/aarch64/tuning_models/tsv110.h: Likewise.

Diff:
---
 gcc/config/aarch64/aarch64-fusion-pairs.def        | 5 +++++
 gcc/config/aarch64/tuning_models/a64fx.h           | 2 +-
 gcc/config/aarch64/tuning_models/ampere1.h         | 7 ++-----
 gcc/config/aarch64/tuning_models/ampere1a.h        | 9 +++------
 gcc/config/aarch64/tuning_models/ampere1b.h        | 9 +++------
 gcc/config/aarch64/tuning_models/cortexa35.h       | 4 ++--
 gcc/config/aarch64/tuning_models/cortexa53.h       | 4 ++--
 gcc/config/aarch64/tuning_models/cortexa57.h       | 3 +--
 gcc/config/aarch64/tuning_models/cortexa72.h       | 3 +--
 gcc/config/aarch64/tuning_models/cortexa73.h       | 4 ++--
 gcc/config/aarch64/tuning_models/cortexx925.h      | 4 ++--
 gcc/config/aarch64/tuning_models/exynosm1.h        | 2 +-
 gcc/config/aarch64/tuning_models/fujitsu_monaka.h  | 2 +-
 gcc/config/aarch64/tuning_models/generic.h         | 2 +-
 gcc/config/aarch64/tuning_models/generic_armv8_a.h | 2 +-
 gcc/config/aarch64/tuning_models/generic_armv9_a.h | 2 +-
 gcc/config/aarch64/tuning_models/neoverse512tvb.h  | 2 +-
 gcc/config/aarch64/tuning_models/neoversen1.h      | 2 +-
 gcc/config/aarch64/tuning_models/neoversen2.h      | 4 ++--
 gcc/config/aarch64/tuning_models/neoversen3.h      | 4 ++--
 gcc/config/aarch64/tuning_models/neoversev1.h      | 2 +-
 gcc/config/aarch64/tuning_models/neoversev2.h      | 5 +----
 gcc/config/aarch64/tuning_models/neoversev3.h      | 4 ++--
 gcc/config/aarch64/tuning_models/neoversev3ae.h    | 4 ++--
 gcc/config/aarch64/tuning_models/qdf24xx.h         | 3 +--
 gcc/config/aarch64/tuning_models/saphira.h         | 3 +--
 gcc/config/aarch64/tuning_models/thunderx2t99.h    | 2 +-
 gcc/config/aarch64/tuning_models/thunderx3t110.h   | 2 +-
 gcc/config/aarch64/tuning_models/tsv110.h          | 2 +-
 29 files changed, 46 insertions(+), 57 deletions(-)

diff --git a/gcc/config/aarch64/aarch64-fusion-pairs.def 
b/gcc/config/aarch64/aarch64-fusion-pairs.def
index bf5e85ba8fe1..f8413ab0c802 100644
--- a/gcc/config/aarch64/aarch64-fusion-pairs.def
+++ b/gcc/config/aarch64/aarch64-fusion-pairs.def
@@ -41,3 +41,8 @@ AARCH64_FUSION_PAIR ("cmp+csel", CMP_CSEL)
 AARCH64_FUSION_PAIR ("cmp+cset", CMP_CSET)
 
 #undef AARCH64_FUSION_PAIR
+
+/* Baseline fusion settings suitable for all cores.  */
+#define AARCH64_FUSE_BASE (AARCH64_FUSE_CMP_BRANCH | AARCH64_FUSE_AES_AESMC)
+
+#define AARCH64_FUSE_MOVK (AARCH64_FUSE_MOV_MOVK | AARCH64_FUSE_MOVK_MOVK)
diff --git a/gcc/config/aarch64/tuning_models/a64fx.h 
b/gcc/config/aarch64/tuning_models/a64fx.h
index 378a1b3889ee..2de96190b2d6 100644
--- a/gcc/config/aarch64/tuning_models/a64fx.h
+++ b/gcc/config/aarch64/tuning_models/a64fx.h
@@ -150,7 +150,7 @@ static const struct tune_params a64fx_tunings =
     4 /* store_pred.  */
   }, /* memmov_cost.  */
   7, /* issue_rate  */
-  (AARCH64_FUSE_AES_AESMC | AARCH64_FUSE_CMP_BRANCH), /* fusible_ops  */
+  AARCH64_FUSE_BASE, /* fusible_ops  */
   "32",        /* function_align.  */
   "16",        /* jump_align.  */
   "32",        /* loop_align.  */
diff --git a/gcc/config/aarch64/tuning_models/ampere1.h 
b/gcc/config/aarch64/tuning_models/ampere1.h
index ace9bf49f759..b2b376699ae6 100644
--- a/gcc/config/aarch64/tuning_models/ampere1.h
+++ b/gcc/config/aarch64/tuning_models/ampere1.h
@@ -88,11 +88,8 @@ static const struct tune_params ampere1_tunings =
     4 /* store_pred.  */
   }, /* memmov_cost.  */
   4, /* issue_rate  */
-  (AARCH64_FUSE_ADRP_ADD | AARCH64_FUSE_AES_AESMC |
-   AARCH64_FUSE_MOV_MOVK | AARCH64_FUSE_MOVK_MOVK |
-   AARCH64_FUSE_ALU_BRANCH /* adds, ands, bics, ccmp, ccmn */ |
-   AARCH64_FUSE_CMP_BRANCH),
-  /* fusible_ops  */
+  (AARCH64_FUSE_BASE | AARCH64_FUSE_ADRP_ADD | AARCH64_FUSE_MOVK
+   | AARCH64_FUSE_ALU_BRANCH), /* fusible_ops  */
   "32",                /* function_align.  */
   "4",         /* jump_align.  */
   "32:16",     /* loop_align.  */
diff --git a/gcc/config/aarch64/tuning_models/ampere1a.h 
b/gcc/config/aarch64/tuning_models/ampere1a.h
index 7fd7c9fca27b..d2f114c13d07 100644
--- a/gcc/config/aarch64/tuning_models/ampere1a.h
+++ b/gcc/config/aarch64/tuning_models/ampere1a.h
@@ -39,12 +39,9 @@ static const struct tune_params ampere1a_tunings =
     4 /* store_pred.  */
   }, /* memmov_cost.  */
   4, /* issue_rate  */
-  (AARCH64_FUSE_ADRP_ADD | AARCH64_FUSE_AES_AESMC |
-   AARCH64_FUSE_MOV_MOVK | AARCH64_FUSE_MOVK_MOVK |
-   AARCH64_FUSE_ALU_BRANCH /* adds, ands, bics, ccmp, ccmn */ |
-   AARCH64_FUSE_CMP_BRANCH | AARCH64_FUSE_ALU_CBZ |
-   AARCH64_FUSE_ADDSUB_2REG_CONST1),
-  /* fusible_ops  */
+  (AARCH64_FUSE_BASE | AARCH64_FUSE_ADRP_ADD | AARCH64_FUSE_MOVK
+   | AARCH64_FUSE_ALU_BRANCH | AARCH64_FUSE_ALU_CBZ
+   | AARCH64_FUSE_ADDSUB_2REG_CONST1), /* fusible_ops  */
   "32",                /* function_align.  */
   "4",         /* jump_align.  */
   "32:16",     /* loop_align.  */
diff --git a/gcc/config/aarch64/tuning_models/ampere1b.h 
b/gcc/config/aarch64/tuning_models/ampere1b.h
index dbf679cdf482..9f0ee807da29 100644
--- a/gcc/config/aarch64/tuning_models/ampere1b.h
+++ b/gcc/config/aarch64/tuning_models/ampere1b.h
@@ -88,12 +88,9 @@ static const struct tune_params ampere1b_tunings =
     4 /* store_pred.  */
   }, /* memmov_cost.  */
   4, /* issue_rate  */
-  (AARCH64_FUSE_ADRP_ADD | AARCH64_FUSE_AES_AESMC |
-   AARCH64_FUSE_MOV_MOVK | AARCH64_FUSE_MOVK_MOVK |
-   AARCH64_FUSE_ALU_BRANCH /* adds, ands, bics, ccmp, ccmn */ |
-   AARCH64_FUSE_CMP_BRANCH | AARCH64_FUSE_ALU_CBZ |
-   AARCH64_FUSE_ADDSUB_2REG_CONST1),
-  /* fusible_ops  */
+  (AARCH64_FUSE_BASE | AARCH64_FUSE_ADRP_ADD | AARCH64_FUSE_MOVK
+   | AARCH64_FUSE_ALU_BRANCH | AARCH64_FUSE_ALU_CBZ
+   | AARCH64_FUSE_ADDSUB_2REG_CONST1), /* fusible_ops  */
   "32",                /* function_align.  */
   "4",         /* jump_align.  */
   "32:16",     /* loop_align.  */
diff --git a/gcc/config/aarch64/tuning_models/cortexa35.h 
b/gcc/config/aarch64/tuning_models/cortexa35.h
index a68ac191223a..87f0c283c95e 100644
--- a/gcc/config/aarch64/tuning_models/cortexa35.h
+++ b/gcc/config/aarch64/tuning_models/cortexa35.h
@@ -40,8 +40,8 @@ static const struct tune_params cortexa35_tunings =
     4 /* store_pred.  */
   }, /* memmov_cost.  */
   1, /* issue_rate  */
-  (AARCH64_FUSE_AES_AESMC | AARCH64_FUSE_MOV_MOVK | AARCH64_FUSE_ADRP_ADD
-   | AARCH64_FUSE_MOVK_MOVK | AARCH64_FUSE_ADRP_LDR), /* fusible_ops  */
+  (AARCH64_FUSE_BASE | AARCH64_FUSE_MOVK | AARCH64_FUSE_ADRP_ADD
+   | AARCH64_FUSE_ADRP_LDR), /* fusible_ops  */
   "16",        /* function_align.  */
   "4", /* jump_align.  */
   "8", /* loop_align.  */
diff --git a/gcc/config/aarch64/tuning_models/cortexa53.h 
b/gcc/config/aarch64/tuning_models/cortexa53.h
index 11f1682ab606..ed578d444b3b 100644
--- a/gcc/config/aarch64/tuning_models/cortexa53.h
+++ b/gcc/config/aarch64/tuning_models/cortexa53.h
@@ -49,8 +49,8 @@ static const struct tune_params cortexa53_tunings =
     4 /* store_pred.  */
   }, /* memmov_cost.  */
   2, /* issue_rate  */
-  (AARCH64_FUSE_AES_AESMC | AARCH64_FUSE_MOV_MOVK | AARCH64_FUSE_ADRP_ADD
-   | AARCH64_FUSE_MOVK_MOVK | AARCH64_FUSE_ADRP_LDR), /* fusible_ops  */
+  (AARCH64_FUSE_BASE | AARCH64_FUSE_MOVK | AARCH64_FUSE_ADRP_ADD
+   | AARCH64_FUSE_ADRP_LDR), /* fusible_ops  */
   "16",        /* function_align.  */
   "4", /* jump_align.  */
   "8", /* loop_align.  */
diff --git a/gcc/config/aarch64/tuning_models/cortexa57.h 
b/gcc/config/aarch64/tuning_models/cortexa57.h
index 336da0b3c786..ff8fed8ada80 100644
--- a/gcc/config/aarch64/tuning_models/cortexa57.h
+++ b/gcc/config/aarch64/tuning_models/cortexa57.h
@@ -87,8 +87,7 @@ static const struct tune_params cortexa57_tunings =
     4 /* store_pred.  */
   }, /* memmov_cost.  */
   3, /* issue_rate  */
-  (AARCH64_FUSE_AES_AESMC | AARCH64_FUSE_MOV_MOVK | AARCH64_FUSE_ADRP_ADD
-   | AARCH64_FUSE_MOVK_MOVK), /* fusible_ops  */
+  (AARCH64_FUSE_BASE | AARCH64_FUSE_MOVK | AARCH64_FUSE_ADRP_ADD), /* 
fusible_ops  */
   "16",        /* function_align.  */
   "4", /* jump_align.  */
   "8", /* loop_align.  */
diff --git a/gcc/config/aarch64/tuning_models/cortexa72.h 
b/gcc/config/aarch64/tuning_models/cortexa72.h
index a2eb2422e759..8e555a4e686a 100644
--- a/gcc/config/aarch64/tuning_models/cortexa72.h
+++ b/gcc/config/aarch64/tuning_models/cortexa72.h
@@ -39,8 +39,7 @@ static const struct tune_params cortexa72_tunings =
     4 /* store_pred.  */
   }, /* memmov_cost.  */
   3, /* issue_rate  */
-  (AARCH64_FUSE_AES_AESMC | AARCH64_FUSE_MOV_MOVK | AARCH64_FUSE_ADRP_ADD
-   | AARCH64_FUSE_MOVK_MOVK), /* fusible_ops  */
+  (AARCH64_FUSE_BASE | AARCH64_FUSE_MOVK | AARCH64_FUSE_ADRP_ADD), /* 
fusible_ops  */
   "16",        /* function_align.  */
   "4", /* jump_align.  */
   "8", /* loop_align.  */
diff --git a/gcc/config/aarch64/tuning_models/cortexa73.h 
b/gcc/config/aarch64/tuning_models/cortexa73.h
index fc066395ac1e..bd2cbb818554 100644
--- a/gcc/config/aarch64/tuning_models/cortexa73.h
+++ b/gcc/config/aarch64/tuning_models/cortexa73.h
@@ -39,8 +39,8 @@ static const struct tune_params cortexa73_tunings =
     4 /* store_pred.  */
   }, /* memmov_cost.  */
   2, /* issue_rate.  */
-  (AARCH64_FUSE_AES_AESMC | AARCH64_FUSE_MOV_MOVK | AARCH64_FUSE_ADRP_ADD
-   | AARCH64_FUSE_MOVK_MOVK | AARCH64_FUSE_ADRP_LDR), /* fusible_ops  */
+  (AARCH64_FUSE_BASE | AARCH64_FUSE_MOVK | AARCH64_FUSE_ADRP_ADD
+   | AARCH64_FUSE_ADRP_LDR), /* fusible_ops  */
   "16",        /* function_align.  */
   "4", /* jump_align.  */
   "8", /* loop_align.  */
diff --git a/gcc/config/aarch64/tuning_models/cortexx925.h 
b/gcc/config/aarch64/tuning_models/cortexx925.h
index b509cae75841..89aa35366993 100644
--- a/gcc/config/aarch64/tuning_models/cortexx925.h
+++ b/gcc/config/aarch64/tuning_models/cortexx925.h
@@ -223,7 +223,7 @@ static const struct tune_params cortexx925_tunings =
     2 /* store_pred.  */
   }, /* memmov_cost.  */
   10, /* issue_rate  */
-  (AARCH64_FUSE_AES_AESMC | AARCH64_FUSE_CMP_BRANCH), /* fusible_ops  */
+  AARCH64_FUSE_BASE, /* fusible_ops  */
   "32:16",     /* function_align.  */
   "4",         /* jump_align.  */
   "32:16",     /* loop_align.  */
@@ -245,4 +245,4 @@ static const struct tune_params cortexx925_tunings =
   AARCH64_LDP_STP_POLICY_ALWAYS           /* stp_policy_model.  */
 };
 
-#endif /* GCC_AARCH64_H_CORTEXX925.  */
\ No newline at end of file
+#endif /* GCC_AARCH64_H_CORTEXX925.  */
diff --git a/gcc/config/aarch64/tuning_models/exynosm1.h 
b/gcc/config/aarch64/tuning_models/exynosm1.h
index 2a21763cda32..90814492a6f1 100644
--- a/gcc/config/aarch64/tuning_models/exynosm1.h
+++ b/gcc/config/aarch64/tuning_models/exynosm1.h
@@ -123,7 +123,7 @@ static const struct tune_params exynosm1_tunings =
     4 /* store_pred.  */
   }, /* memmov_cost.  */
   3,   /* issue_rate  */
-  (AARCH64_FUSE_AES_AESMC), /* fusible_ops  */
+  AARCH64_FUSE_BASE, /* fusible_ops  */
   "4", /* function_align.  */
   "4", /* jump_align.  */
   "4", /* loop_align.  */
diff --git a/gcc/config/aarch64/tuning_models/fujitsu_monaka.h 
b/gcc/config/aarch64/tuning_models/fujitsu_monaka.h
index c3a1e0620e2f..6a0984977591 100644
--- a/gcc/config/aarch64/tuning_models/fujitsu_monaka.h
+++ b/gcc/config/aarch64/tuning_models/fujitsu_monaka.h
@@ -42,7 +42,7 @@ static const struct tune_params fujitsu_monaka_tunings =
     1 /* store_pred.  */
   }, /* memmov_cost.  */
   3, /* issue_rate.  */
-  (AARCH64_FUSE_AES_AESMC | AARCH64_FUSE_CMP_BRANCH), /* fusible_ops.  */
+  AARCH64_FUSE_BASE, /* fusible_ops.  */
   "32:16",     /* function_align.  */
   "4",         /* jump_align.  */
   "32:16",     /* loop_align.  */
diff --git a/gcc/config/aarch64/tuning_models/generic.h 
b/gcc/config/aarch64/tuning_models/generic.h
index ee2f3ff42663..542792a7a05d 100644
--- a/gcc/config/aarch64/tuning_models/generic.h
+++ b/gcc/config/aarch64/tuning_models/generic.h
@@ -168,7 +168,7 @@ static const struct tune_params generic_tunings =
     4 /* store_pred.  */
   }, /* memmov_cost.  */
   2, /* issue_rate  */
-  (AARCH64_FUSE_AES_AESMC | AARCH64_FUSE_CMP_BRANCH), /* fusible_ops  */
+  AARCH64_FUSE_BASE, /* fusible_ops  */
   "16:12",     /* function_align.  */
   "4", /* jump_align.  */
   "8", /* loop_align.  */
diff --git a/gcc/config/aarch64/tuning_models/generic_armv8_a.h 
b/gcc/config/aarch64/tuning_models/generic_armv8_a.h
index b5088afe068a..9b1cbfc5bd2a 100644
--- a/gcc/config/aarch64/tuning_models/generic_armv8_a.h
+++ b/gcc/config/aarch64/tuning_models/generic_armv8_a.h
@@ -169,7 +169,7 @@ static const struct tune_params generic_armv8_a_tunings =
     4 /* store_pred.  */
   }, /* memmov_cost.  */
   3, /* issue_rate  */
-  (AARCH64_FUSE_AES_AESMC | AARCH64_FUSE_CMP_BRANCH), /* fusible_ops  */
+  AARCH64_FUSE_BASE, /* fusible_ops  */
   "32:16",     /* function_align.  */
   "4",         /* jump_align.  */
   "32:16",     /* loop_align.  */
diff --git a/gcc/config/aarch64/tuning_models/generic_armv9_a.h 
b/gcc/config/aarch64/tuning_models/generic_armv9_a.h
index 76b3e4c9cf73..48353a59939d 100644
--- a/gcc/config/aarch64/tuning_models/generic_armv9_a.h
+++ b/gcc/config/aarch64/tuning_models/generic_armv9_a.h
@@ -236,7 +236,7 @@ static const struct tune_params generic_armv9_a_tunings =
     1 /* store_pred.  */
   }, /* memmov_cost.  */
   3, /* issue_rate  */
-  (AARCH64_FUSE_AES_AESMC | AARCH64_FUSE_CMP_BRANCH), /* fusible_ops  */
+  AARCH64_FUSE_BASE, /* fusible_ops  */
   "32:16",     /* function_align.  */
   "4",         /* jump_align.  */
   "32:16",     /* loop_align.  */
diff --git a/gcc/config/aarch64/tuning_models/neoverse512tvb.h 
b/gcc/config/aarch64/tuning_models/neoverse512tvb.h
index d2a0b647791d..c407b89a22f1 100644
--- a/gcc/config/aarch64/tuning_models/neoverse512tvb.h
+++ b/gcc/config/aarch64/tuning_models/neoverse512tvb.h
@@ -143,7 +143,7 @@ static const struct tune_params neoverse512tvb_tunings =
     1 /* store_pred.  */
   }, /* memmov_cost.  */
   3, /* issue_rate  */
-  (AARCH64_FUSE_AES_AESMC | AARCH64_FUSE_CMP_BRANCH), /* fusible_ops  */
+  AARCH64_FUSE_BASE, /* fusible_ops  */
   "32:16",     /* function_align.  */
   "4",         /* jump_align.  */
   "32:16",     /* loop_align.  */
diff --git a/gcc/config/aarch64/tuning_models/neoversen1.h 
b/gcc/config/aarch64/tuning_models/neoversen1.h
index c1c77518e35f..a09b684fcdb0 100644
--- a/gcc/config/aarch64/tuning_models/neoversen1.h
+++ b/gcc/config/aarch64/tuning_models/neoversen1.h
@@ -39,7 +39,7 @@ static const struct tune_params neoversen1_tunings =
     4 /* store_pred.  */
   }, /* memmov_cost.  */
   3, /* issue_rate  */
-  (AARCH64_FUSE_AES_AESMC | AARCH64_FUSE_CMP_BRANCH), /* fusible_ops  */
+  AARCH64_FUSE_BASE, /* fusible_ops  */
   "32:16",     /* function_align.  */
   "4",         /* jump_align.  */
   "32:16",     /* loop_align.  */
diff --git a/gcc/config/aarch64/tuning_models/neoversen2.h 
b/gcc/config/aarch64/tuning_models/neoversen2.h
index 1a5b66901b5c..dd175b75557b 100644
--- a/gcc/config/aarch64/tuning_models/neoversen2.h
+++ b/gcc/config/aarch64/tuning_models/neoversen2.h
@@ -223,7 +223,7 @@ static const struct tune_params neoversen2_tunings =
     1 /* store_pred.  */
   }, /* memmov_cost.  */
   5, /* issue_rate  */
-  (AARCH64_FUSE_AES_AESMC | AARCH64_FUSE_CMP_BRANCH), /* fusible_ops  */
+  AARCH64_FUSE_BASE, /* fusible_ops  */
   "32:16",     /* function_align.  */
   "4",         /* jump_align.  */
   "32:16",     /* loop_align.  */
@@ -245,4 +245,4 @@ static const struct tune_params neoversen2_tunings =
   AARCH64_LDP_STP_POLICY_ALWAYS           /* stp_policy_model.  */
 };
 
-#endif /* GCC_AARCH64_H_NEOVERSEN2.  */
\ No newline at end of file
+#endif /* GCC_AARCH64_H_NEOVERSEN2.  */
diff --git a/gcc/config/aarch64/tuning_models/neoversen3.h 
b/gcc/config/aarch64/tuning_models/neoversen3.h
index 3e2b84ca497e..e510c8f09f78 100644
--- a/gcc/config/aarch64/tuning_models/neoversen3.h
+++ b/gcc/config/aarch64/tuning_models/neoversen3.h
@@ -223,7 +223,7 @@ static const struct tune_params neoversen3_tunings =
     2 /* store_pred.  */
   }, /* memmov_cost.  */
   5, /* issue_rate  */
-  (AARCH64_FUSE_AES_AESMC | AARCH64_FUSE_CMP_BRANCH), /* fusible_ops  */
+  AARCH64_FUSE_BASE, /* fusible_ops  */
   "32:16",     /* function_align.  */
   "4",         /* jump_align.  */
   "32:16",     /* loop_align.  */
@@ -244,4 +244,4 @@ static const struct tune_params neoversen3_tunings =
   AARCH64_LDP_STP_POLICY_ALWAYS           /* stp_policy_model.  */
 };
 
-#endif /* GCC_AARCH64_H_NEOVERSEN3.  */
\ No newline at end of file
+#endif /* GCC_AARCH64_H_NEOVERSEN3.  */
diff --git a/gcc/config/aarch64/tuning_models/neoversev1.h 
b/gcc/config/aarch64/tuning_models/neoversev1.h
index 705ed025730f..dd9120eee48a 100644
--- a/gcc/config/aarch64/tuning_models/neoversev1.h
+++ b/gcc/config/aarch64/tuning_models/neoversev1.h
@@ -214,7 +214,7 @@ static const struct tune_params neoversev1_tunings =
     1 /* store_pred.  */
   }, /* memmov_cost.  */
   3, /* issue_rate  */
-  (AARCH64_FUSE_AES_AESMC | AARCH64_FUSE_CMP_BRANCH), /* fusible_ops  */
+  AARCH64_FUSE_BASE, /* fusible_ops  */
   "32:16",     /* function_align.  */
   "4",         /* jump_align.  */
   "32:16",     /* loop_align.  */
diff --git a/gcc/config/aarch64/tuning_models/neoversev2.h 
b/gcc/config/aarch64/tuning_models/neoversev2.h
index e7e37e6b3b6e..b2aca79b9cef 100644
--- a/gcc/config/aarch64/tuning_models/neoversev2.h
+++ b/gcc/config/aarch64/tuning_models/neoversev2.h
@@ -236,10 +236,7 @@ static const struct tune_params neoversev2_tunings =
     2 /* store_pred.  */
   }, /* memmov_cost.  */
   5, /* issue_rate  */
-  (AARCH64_FUSE_AES_AESMC
-   | AARCH64_FUSE_CMP_BRANCH
-   | AARCH64_FUSE_CMP_CSEL
-   | AARCH64_FUSE_CMP_CSET), /* fusible_ops  */
+  (AARCH64_FUSE_BASE | AARCH64_FUSE_CMP_CSEL | AARCH64_FUSE_CMP_CSET), /* 
fusible_ops  */
   "32:16",     /* function_align.  */
   "4",         /* jump_align.  */
   "32:16",     /* loop_align.  */
diff --git a/gcc/config/aarch64/tuning_models/neoversev3.h 
b/gcc/config/aarch64/tuning_models/neoversev3.h
index c91e8c829532..84415ae65835 100644
--- a/gcc/config/aarch64/tuning_models/neoversev3.h
+++ b/gcc/config/aarch64/tuning_models/neoversev3.h
@@ -223,7 +223,7 @@ static const struct tune_params neoversev3_tunings =
     2 /* store_pred.  */
   }, /* memmov_cost.  */
   10, /* issue_rate  */
-  (AARCH64_FUSE_AES_AESMC | AARCH64_FUSE_CMP_BRANCH), /* fusible_ops  */
+  AARCH64_FUSE_BASE, /* fusible_ops  */
   "32:16",     /* function_align.  */
   "4",         /* jump_align.  */
   "32:16",     /* loop_align.  */
@@ -245,4 +245,4 @@ static const struct tune_params neoversev3_tunings =
   AARCH64_LDP_STP_POLICY_ALWAYS           /* stp_policy_model.  */
 };
 
-#endif /* GCC_AARCH64_H_NEOVERSEV3.  */
\ No newline at end of file
+#endif /* GCC_AARCH64_H_NEOVERSEV3.  */
diff --git a/gcc/config/aarch64/tuning_models/neoversev3ae.h 
b/gcc/config/aarch64/tuning_models/neoversev3ae.h
index 61e439326eb6..3cb92fde54bf 100644
--- a/gcc/config/aarch64/tuning_models/neoversev3ae.h
+++ b/gcc/config/aarch64/tuning_models/neoversev3ae.h
@@ -223,7 +223,7 @@ static const struct tune_params neoversev3ae_tunings =
     2 /* store_pred.  */
   }, /* memmov_cost.  */
   10, /* issue_rate  */
-  (AARCH64_FUSE_AES_AESMC | AARCH64_FUSE_CMP_BRANCH), /* fusible_ops  */
+  AARCH64_FUSE_BASE, /* fusible_ops  */
   "32:16",     /* function_align.  */
   "4",         /* jump_align.  */
   "32:16",     /* loop_align.  */
@@ -245,4 +245,4 @@ static const struct tune_params neoversev3ae_tunings =
   AARCH64_LDP_STP_POLICY_ALWAYS           /* stp_policy_model.  */
 };
 
-#endif /* GCC_AARCH64_H_NEOVERSEV3AE.  */
\ No newline at end of file
+#endif /* GCC_AARCH64_H_NEOVERSEV3AE.  */
diff --git a/gcc/config/aarch64/tuning_models/qdf24xx.h 
b/gcc/config/aarch64/tuning_models/qdf24xx.h
index 89f90843a69f..7d59f81c0ee9 100644
--- a/gcc/config/aarch64/tuning_models/qdf24xx.h
+++ b/gcc/config/aarch64/tuning_models/qdf24xx.h
@@ -115,8 +115,7 @@ static const struct tune_params qdf24xx_tunings =
     4 /* store_pred.  */
   }, /* memmov_cost.  */
   4, /* issue_rate  */
-  (AARCH64_FUSE_MOV_MOVK | AARCH64_FUSE_ADRP_ADD
-   | AARCH64_FUSE_MOVK_MOVK), /* fuseable_ops  */
+  (AARCH64_FUSE_MOVK | AARCH64_FUSE_ADRP_ADD), /* fuseable_ops  */
   "16",        /* function_align.  */
   "8", /* jump_align.  */
   "16",        /* loop_align.  */
diff --git a/gcc/config/aarch64/tuning_models/saphira.h 
b/gcc/config/aarch64/tuning_models/saphira.h
index 0f7d2daf2585..012ba73bfd7a 100644
--- a/gcc/config/aarch64/tuning_models/saphira.h
+++ b/gcc/config/aarch64/tuning_models/saphira.h
@@ -41,8 +41,7 @@ static const struct tune_params saphira_tunings =
     4 /* store_pred.  */
   }, /* memmov_cost.  */
   4, /* issue_rate  */
-  (AARCH64_FUSE_MOV_MOVK | AARCH64_FUSE_ADRP_ADD
-   | AARCH64_FUSE_MOVK_MOVK), /* fuseable_ops  */
+  (AARCH64_FUSE_MOVK | AARCH64_FUSE_ADRP_ADD), /* fuseable_ops  */
   "16",        /* function_align.  */
   "8", /* jump_align.  */
   "16",        /* loop_align.  */
diff --git a/gcc/config/aarch64/tuning_models/thunderx2t99.h 
b/gcc/config/aarch64/tuning_models/thunderx2t99.h
index 4ece60cb838a..c78e3423e7f1 100644
--- a/gcc/config/aarch64/tuning_models/thunderx2t99.h
+++ b/gcc/config/aarch64/tuning_models/thunderx2t99.h
@@ -115,7 +115,7 @@ static const struct tune_params thunderx2t99_tunings =
     4 /* store_pred.  */
   }, /* memmov_cost.  */
   4, /* issue_rate.  */
-  (AARCH64_FUSE_ALU_BRANCH | AARCH64_FUSE_AES_AESMC
+  (AARCH64_FUSE_BASE | AARCH64_FUSE_ALU_BRANCH
    | AARCH64_FUSE_ALU_CBZ), /* fusible_ops  */
   "16",        /* function_align.  */
   "8", /* jump_align.  */
diff --git a/gcc/config/aarch64/tuning_models/thunderx3t110.h 
b/gcc/config/aarch64/tuning_models/thunderx3t110.h
index a29c7b60eb79..328a58eaa6ee 100644
--- a/gcc/config/aarch64/tuning_models/thunderx3t110.h
+++ b/gcc/config/aarch64/tuning_models/thunderx3t110.h
@@ -114,7 +114,7 @@ static const struct tune_params thunderx3t110_tunings =
     4 /* store_pred.  */
   }, /* memmov_cost.  */
   6, /* issue_rate.  */
-  (AARCH64_FUSE_ALU_BRANCH | AARCH64_FUSE_AES_AESMC
+  (AARCH64_FUSE_BASE | AARCH64_FUSE_ALU_BRANCH
    | AARCH64_FUSE_ALU_CBZ), /* fusible_ops  */
   "16",        /* function_align.  */
   "8", /* jump_align.  */
diff --git a/gcc/config/aarch64/tuning_models/tsv110.h 
b/gcc/config/aarch64/tuning_models/tsv110.h
index f838158dbead..5f817e96edb3 100644
--- a/gcc/config/aarch64/tuning_models/tsv110.h
+++ b/gcc/config/aarch64/tuning_models/tsv110.h
@@ -115,7 +115,7 @@ static const struct tune_params tsv110_tunings =
     4 /* store_pred.  */
   }, /* memmov_cost.  */
   4,    /* issue_rate  */
-  (AARCH64_FUSE_AES_AESMC | AARCH64_FUSE_ALU_BRANCH
+  (AARCH64_FUSE_BASE | AARCH64_FUSE_ALU_BRANCH
    | AARCH64_FUSE_ALU_CBZ), /* fusible_ops  */
   "16", /* function_align.  */
   "4",  /* jump_align.  */

Reply via email to