diff options
author | Kyrylo Tkachov <kyrylo.tkachov@arm.com> | 2016-03-23 10:39:10 +0000 |
---|---|---|
committer | Kyrylo Tkachov <ktkachov@gcc.gnu.org> | 2016-03-23 10:39:10 +0000 |
commit | 4af0f474d71bd0923a236a025faf071c03eb6353 (patch) | |
tree | 335b7464ac84540e2711a2eece69e699fdbb21e2 /gcc | |
parent | a59f0bef3e6594db58a4f4b9329ca1ebc7b4da75 (diff) | |
download | gcc-4af0f474d71bd0923a236a025faf071c03eb6353.zip gcc-4af0f474d71bd0923a236a025faf071c03eb6353.tar.gz gcc-4af0f474d71bd0923a236a025faf071c03eb6353.tar.bz2 |
[ARM] Reduce size of arm1020e automaton
* config/arm/arm1020e.md (1020call_op): Reduce reservation
duration.
(v10_fdivs): Likewise.
(v10_fdivd): Likewise.
From-SVN: r234422
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 7 | ||||
-rw-r--r-- | gcc/config/arm/arm1020e.md | 11 |
2 files changed, 13 insertions, 5 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index f78ff93..f425113 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,5 +1,12 @@ 2016-03-23 Kyrylo Tkachov <kyrylo.tkachov@arm.com> + * config/arm/arm1020e.md (1020call_op): Reduce reservation + duration. + (v10_fdivs): Likewise. + (v10_fdivd): Likewise. + +2016-03-23 Kyrylo Tkachov <kyrylo.tkachov@arm.com> + PR driver/70132 * config/arm/driver-arm.c (host_detect_local_cpu): Reorder exit logic to not call fclose twice on file. diff --git a/gcc/config/arm/arm1020e.md b/gcc/config/arm/arm1020e.md index 7cdab57..84a300d 100644 --- a/gcc/config/arm/arm1020e.md +++ b/gcc/config/arm/arm1020e.md @@ -246,13 +246,14 @@ (eq_attr "type" "branch")) "1020a_e") -;; The latency for a call is not predictable. Therefore, we use 32 as -;; roughly equivalent to positive infinity. +;; The latency for a call is not predictable. Therefore, we model as blocking +;; execution for a number of cycles but we can't do anything more accurate +;; than that. (define_insn_reservation "1020call_op" 32 (and (eq_attr "tune" "arm1020e,arm1022e") (eq_attr "type" "call")) - "1020a_e*32") + "1020a_e*4") ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; VFP @@ -300,12 +301,12 @@ (define_insn_reservation "v10_fdivs" 18 (and (eq_attr "vfp10" "yes") (eq_attr "type" "fdivs, fsqrts")) - "1020a_e+v10_ds*14") + "1020a_e+v10_ds*4") (define_insn_reservation "v10_fdivd" 32 (and (eq_attr "vfp10" "yes") (eq_attr "type" "fdivd, fsqrtd")) - "1020a_e+v10_fmac+v10_ds*28") + "1020a_e+v10_fmac+v10_ds*4") (define_insn_reservation "v10_floads" 4 (and (eq_attr "vfp10" "yes") |