From 753bcf7bdf0b6c9874c84c0c87ccea3f59ba16cc Mon Sep 17 00:00:00 2001 From: Greta Yorsh Date: Tue, 29 Jan 2013 18:41:23 +0000 Subject: [PATCH] arm.c (cortexa7_younger): Return true for TYPE_CALL. 2013-01-29 Greta Yorsh * config/arm/arm.c (cortexa7_younger): Return true for TYPE_CALL. * config/arm/cortex-a7.md (cortex_a7_call): Update required units. From-SVN: r195554 --- gcc/ChangeLog | 5 +++++ gcc/config/arm/arm.c | 1 + gcc/config/arm/cortex-a7.md | 7 +++++-- 3 files changed, 11 insertions(+), 2 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index a40f35c9298..a994755ecb1 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2013-01-29 Greta Yorsh + + * config/arm/arm.c (cortexa7_younger): Return true for TYPE_CALL. + * config/arm/cortex-a7.md (cortex_a7_call): Update required units. + 2013-01-29 Greta Yorsh * config/arm/arm-protos.h (arm_mac_accumulator_is_result): New diff --git a/gcc/config/arm/arm.c b/gcc/config/arm/arm.c index 0aa24b1796b..d7877b0d8a4 100644 --- a/gcc/config/arm/arm.c +++ b/gcc/config/arm/arm.c @@ -8758,6 +8758,7 @@ cortexa7_younger (FILE *file, int verbose, rtx insn) case TYPE_SIMPLE_ALU_IMM: case TYPE_SIMPLE_ALU_SHIFT: case TYPE_BRANCH: + case TYPE_CALL: return true; default: return false; diff --git a/gcc/config/arm/cortex-a7.md b/gcc/config/arm/cortex-a7.md index a8d4432e508..0d249b5ec6b 100644 --- a/gcc/config/arm/cortex-a7.md +++ b/gcc/config/arm/cortex-a7.md @@ -80,12 +80,15 @@ (eq_attr "neon_type" "none"))) "(cortex_a7_ex2|cortex_a7_ex1)+cortex_a7_branch") -;; A call reserves all issue slots. The result is available the next cycle. +;; Call cannot dual-issue as an older instruction. It can dual-issue +;; as a younger instruction, or single-issue. Call cannot dual-issue +;; with another branch instruction. The result is available the next +;; cycle. (define_insn_reservation "cortex_a7_call" 1 (and (eq_attr "tune" "cortexa7") (and (eq_attr "type" "call") (eq_attr "neon_type" "none"))) - "cortex_a7_all") + "(cortex_a7_ex2|cortex_a7_both)+cortex_a7_branch") ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; ALU instructions.