Commit d7b03373 by Kyrylo Tkachov Committed by Kyrylo Tkachov

[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
parent 0d99f8a0
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> 2016-05-31 Richard Biener <rguenther@suse.de>
PR tree-optimization/71352 PR tree-optimization/71352
......
...@@ -13021,8 +13021,7 @@ aarch_macro_fusion_pair_p (rtx_insn *prev, rtx_insn *curr) ...@@ -13021,8 +13021,7 @@ aarch_macro_fusion_pair_p (rtx_insn *prev, rtx_insn *curr)
if (!aarch64_macro_fusion_p ()) if (!aarch64_macro_fusion_p ())
return false; return false;
if (simple_sets_p if (simple_sets_p && aarch64_fusion_enabled_p (AARCH64_FUSE_MOV_MOVK))
&& (aarch64_tune_params.fusible_ops & AARCH64_FUSE_MOV_MOVK))
{ {
/* We are trying to match: /* We are trying to match:
prev (mov) == (set (reg r0) (const_int imm16)) prev (mov) == (set (reg r0) (const_int imm16))
...@@ -13046,8 +13045,7 @@ aarch_macro_fusion_pair_p (rtx_insn *prev, rtx_insn *curr) ...@@ -13046,8 +13045,7 @@ aarch_macro_fusion_pair_p (rtx_insn *prev, rtx_insn *curr)
} }
} }
if (simple_sets_p if (simple_sets_p && aarch64_fusion_enabled_p (AARCH64_FUSE_ADRP_ADD))
&& (aarch64_tune_params.fusible_ops & AARCH64_FUSE_ADRP_ADD))
{ {
/* We're trying to match: /* We're trying to match:
...@@ -13072,8 +13070,7 @@ aarch_macro_fusion_pair_p (rtx_insn *prev, rtx_insn *curr) ...@@ -13072,8 +13070,7 @@ aarch_macro_fusion_pair_p (rtx_insn *prev, rtx_insn *curr)
} }
} }
if (simple_sets_p if (simple_sets_p && aarch64_fusion_enabled_p (AARCH64_FUSE_MOVK_MOVK))
&& (aarch64_tune_params.fusible_ops & AARCH64_FUSE_MOVK_MOVK))
{ {
/* We're trying to match: /* We're trying to match:
...@@ -13101,8 +13098,7 @@ aarch_macro_fusion_pair_p (rtx_insn *prev, rtx_insn *curr) ...@@ -13101,8 +13098,7 @@ aarch_macro_fusion_pair_p (rtx_insn *prev, rtx_insn *curr)
return true; return true;
} }
if (simple_sets_p if (simple_sets_p && aarch64_fusion_enabled_p (AARCH64_FUSE_ADRP_LDR))
&& (aarch64_tune_params.fusible_ops & AARCH64_FUSE_ADRP_LDR))
{ {
/* We're trying to match: /* We're trying to match:
prev (adrp) == (set (reg r0) prev (adrp) == (set (reg r0)
...@@ -13133,11 +13129,11 @@ aarch_macro_fusion_pair_p (rtx_insn *prev, rtx_insn *curr) ...@@ -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)) && aarch_crypto_can_dual_issue (prev, curr))
return true; 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)) && any_condjump_p (curr))
{ {
enum attr_type prev_type = get_attr_type (prev); enum attr_type prev_type = get_attr_type (prev);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment