Commit 753bcf7b by Greta Yorsh Committed by Greta Yorsh

arm.c (cortexa7_younger): Return true for TYPE_CALL.

2013-01-29  Greta Yorsh  <Greta.Yorsh@arm.com>

        * 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
parent 8cbc2ea8
2013-01-29 Greta Yorsh <Greta.Yorsh@arm.com> 2013-01-29 Greta Yorsh <Greta.Yorsh@arm.com>
* 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 <Greta.Yorsh@arm.com>
* config/arm/arm-protos.h (arm_mac_accumulator_is_result): New * config/arm/arm-protos.h (arm_mac_accumulator_is_result): New
declaration. declaration.
* config/arm/arm.c (arm_mac_accumulator_is_result): New function. * config/arm/arm.c (arm_mac_accumulator_is_result): New function.
......
...@@ -8758,6 +8758,7 @@ cortexa7_younger (FILE *file, int verbose, rtx insn) ...@@ -8758,6 +8758,7 @@ cortexa7_younger (FILE *file, int verbose, rtx insn)
case TYPE_SIMPLE_ALU_IMM: case TYPE_SIMPLE_ALU_IMM:
case TYPE_SIMPLE_ALU_SHIFT: case TYPE_SIMPLE_ALU_SHIFT:
case TYPE_BRANCH: case TYPE_BRANCH:
case TYPE_CALL:
return true; return true;
default: default:
return false; return false;
......
...@@ -80,12 +80,15 @@ ...@@ -80,12 +80,15 @@
(eq_attr "neon_type" "none"))) (eq_attr "neon_type" "none")))
"(cortex_a7_ex2|cortex_a7_ex1)+cortex_a7_branch") "(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 (define_insn_reservation "cortex_a7_call" 1
(and (eq_attr "tune" "cortexa7") (and (eq_attr "tune" "cortexa7")
(and (eq_attr "type" "call") (and (eq_attr "type" "call")
(eq_attr "neon_type" "none"))) (eq_attr "neon_type" "none")))
"cortex_a7_all") "(cortex_a7_ex2|cortex_a7_both)+cortex_a7_branch")
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; ALU instructions. ;; ALU instructions.
......
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