aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorWilco Dijkstra <wilco.dijkstra@arm.com>2024-10-02 16:34:41 +0000
committerWilco Dijkstra <wilco.dijkstra@arm.com>2024-11-12 14:42:03 +0000
commitdeb0e2f61908bdc57b481995fa9e7c5083839a25 (patch)
treeae24a7256a3a572745c45dbe8faabd7503f5c053
parent9a64cd192548bcb29194dd8bd6340dfc2168ae7d (diff)
downloadgcc-deb0e2f61908bdc57b481995fa9e7c5083839a25.zip
gcc-deb0e2f61908bdc57b481995fa9e7c5083839a25.tar.gz
gcc-deb0e2f61908bdc57b481995fa9e7c5083839a25.tar.bz2
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.
-rw-r--r--gcc/config/aarch64/aarch64-fusion-pairs.def5
-rw-r--r--gcc/config/aarch64/tuning_models/a64fx.h2
-rw-r--r--gcc/config/aarch64/tuning_models/ampere1.h7
-rw-r--r--gcc/config/aarch64/tuning_models/ampere1a.h9
-rw-r--r--gcc/config/aarch64/tuning_models/ampere1b.h9
-rw-r--r--gcc/config/aarch64/tuning_models/cortexa35.h4
-rw-r--r--gcc/config/aarch64/tuning_models/cortexa53.h4
-rw-r--r--gcc/config/aarch64/tuning_models/cortexa57.h3
-rw-r--r--gcc/config/aarch64/tuning_models/cortexa72.h3
-rw-r--r--gcc/config/aarch64/tuning_models/cortexa73.h4
-rw-r--r--gcc/config/aarch64/tuning_models/cortexx925.h4
-rw-r--r--gcc/config/aarch64/tuning_models/exynosm1.h2
-rw-r--r--gcc/config/aarch64/tuning_models/fujitsu_monaka.h2
-rw-r--r--gcc/config/aarch64/tuning_models/generic.h2
-rw-r--r--gcc/config/aarch64/tuning_models/generic_armv8_a.h2
-rw-r--r--gcc/config/aarch64/tuning_models/generic_armv9_a.h2
-rw-r--r--gcc/config/aarch64/tuning_models/neoverse512tvb.h2
-rw-r--r--gcc/config/aarch64/tuning_models/neoversen1.h2
-rw-r--r--gcc/config/aarch64/tuning_models/neoversen2.h4
-rw-r--r--gcc/config/aarch64/tuning_models/neoversen3.h4
-rw-r--r--gcc/config/aarch64/tuning_models/neoversev1.h2
-rw-r--r--gcc/config/aarch64/tuning_models/neoversev2.h5
-rw-r--r--gcc/config/aarch64/tuning_models/neoversev3.h4
-rw-r--r--gcc/config/aarch64/tuning_models/neoversev3ae.h4
-rw-r--r--gcc/config/aarch64/tuning_models/qdf24xx.h3
-rw-r--r--gcc/config/aarch64/tuning_models/saphira.h3
-rw-r--r--gcc/config/aarch64/tuning_models/thunderx2t99.h2
-rw-r--r--gcc/config/aarch64/tuning_models/thunderx3t110.h2
-rw-r--r--gcc/config/aarch64/tuning_models/tsv110.h2
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 bf5e85b..f8413ab 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 378a1b3..2de9619 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 ace9bf4..b2b3766 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 7fd7c9f..d2f114c 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 dbf679c..9f0ee80 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 a68ac19..87f0c28 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 11f1682..ed578d4 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 336da0b..ff8fed8 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 a2eb2422..8e555a4 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 fc06639..bd2cbb8 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 b509cae..89aa353 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 2a21763..9081449 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 c3a1e06..6a09849 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 ee2f3ff..542792a 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 b5088af..9b1cbfc 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 76b3e4c..48353a5 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 d2a0b64..c407b89 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 c1c7751..a09b684 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 1a5b669..dd175b7 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 3e2b84c..e510c8f 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 705ed02..dd9120e 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 e7e37e6b..b2aca79 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 c91e8c8..84415ae 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 61e4393..3cb92fd 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 89f9084..7d59f81 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 0f7d2da..012ba73 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 4ece60c..c78e342 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 a29c7b6..328a58e 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 f838158..5f817e9 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. */