diff options
author | Kyrylo Tkachov <kyrylo.tkachov@arm.com> | 2016-05-31 12:35:42 +0000 |
---|---|---|
committer | Kyrylo Tkachov <ktkachov@gcc.gnu.org> | 2016-05-31 12:35:42 +0000 |
commit | d7b03373d619b3ce715c760d2b21dbe4869a1c8f (patch) | |
tree | 44e255dcc4dc943e0dd3a2ad9caade9210aac147 | |
parent | 0d99f8a0705e47ca7fcee70f25cab0098ec64e48 (diff) | |
download | gcc-d7b03373d619b3ce715c760d2b21dbe4869a1c8f.zip gcc-d7b03373d619b3ce715c760d2b21dbe4869a1c8f.tar.gz gcc-d7b03373d619b3ce715c760d2b21dbe4869a1c8f.tar.bz2 |
[AArch64] Use aarch64_fusion_enabled_p to check for insn fusion capabilities
* config/aarch64/aarch64.c (aarch_macro_fusion_pair_p): Use
aarch64_fusion_enabled_p to check for fusion capabilities.
From-SVN: r236921
-rw-r--r-- | gcc/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/config/aarch64/aarch64.c | 16 |
2 files changed, 11 insertions, 10 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 41bb494..a558a94 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2016-05-31 Kyrylo Tkachov <kyrylo.tkachov@arm.com> + + * config/aarch64/aarch64.c (aarch_macro_fusion_pair_p): Use + aarch64_fusion_enabled_p to check for fusion capabilities. + 2016-05-31 Richard Biener <rguenther@suse.de> PR tree-optimization/71352 diff --git a/gcc/config/aarch64/aarch64.c b/gcc/config/aarch64/aarch64.c index 3ec5c9f..ad07fe1 100644 --- a/gcc/config/aarch64/aarch64.c +++ b/gcc/config/aarch64/aarch64.c @@ -13021,8 +13021,7 @@ aarch_macro_fusion_pair_p (rtx_insn *prev, rtx_insn *curr) if (!aarch64_macro_fusion_p ()) return false; - if (simple_sets_p - && (aarch64_tune_params.fusible_ops & AARCH64_FUSE_MOV_MOVK)) + if (simple_sets_p && aarch64_fusion_enabled_p (AARCH64_FUSE_MOV_MOVK)) { /* We are trying to match: prev (mov) == (set (reg r0) (const_int imm16)) @@ -13046,8 +13045,7 @@ aarch_macro_fusion_pair_p (rtx_insn *prev, rtx_insn *curr) } } - if (simple_sets_p - && (aarch64_tune_params.fusible_ops & AARCH64_FUSE_ADRP_ADD)) + if (simple_sets_p && aarch64_fusion_enabled_p (AARCH64_FUSE_ADRP_ADD)) { /* We're trying to match: @@ -13072,8 +13070,7 @@ aarch_macro_fusion_pair_p (rtx_insn *prev, rtx_insn *curr) } } - if (simple_sets_p - && (aarch64_tune_params.fusible_ops & AARCH64_FUSE_MOVK_MOVK)) + if (simple_sets_p && aarch64_fusion_enabled_p (AARCH64_FUSE_MOVK_MOVK)) { /* We're trying to match: @@ -13101,8 +13098,7 @@ aarch_macro_fusion_pair_p (rtx_insn *prev, rtx_insn *curr) return true; } - if (simple_sets_p - && (aarch64_tune_params.fusible_ops & AARCH64_FUSE_ADRP_LDR)) + if (simple_sets_p && aarch64_fusion_enabled_p (AARCH64_FUSE_ADRP_LDR)) { /* We're trying to match: prev (adrp) == (set (reg r0) @@ -13133,11 +13129,11 @@ aarch_macro_fusion_pair_p (rtx_insn *prev, rtx_insn *curr) } } - if ((aarch64_tune_params.fusible_ops & AARCH64_FUSE_AES_AESMC) + if (aarch64_fusion_enabled_p (AARCH64_FUSE_AES_AESMC) && aarch_crypto_can_dual_issue (prev, curr)) return true; - if ((aarch64_tune_params.fusible_ops & AARCH64_FUSE_CMP_BRANCH) + if (aarch64_fusion_enabled_p (AARCH64_FUSE_CMP_BRANCH) && any_condjump_p (curr)) { enum attr_type prev_type = get_attr_type (prev); |