From: ktkachov Date: Wed, 23 Mar 2016 10:39:10 +0000 (+0000) Subject: [ARM] Reduce size of arm1020e automaton X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=9ada59d2ab98f2a92f9d496c420004f0fbebafce;p=thirdparty%2Fgcc.git [ARM] Reduce size of arm1020e automaton * config/arm/arm1020e.md (1020call_op): Reduce reservation duration. (v10_fdivs): Likewise. (v10_fdivd): Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@234422 138bc75d-0d04-0410-961f-82ee72b054a4 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index f78ff93a9a40..f4251133922f 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,10 @@ +2016-03-23 Kyrylo Tkachov + + * config/arm/arm1020e.md (1020call_op): Reduce reservation + duration. + (v10_fdivs): Likewise. + (v10_fdivd): Likewise. + 2016-03-23 Kyrylo Tkachov PR driver/70132 diff --git a/gcc/config/arm/arm1020e.md b/gcc/config/arm/arm1020e.md index 7cdab57ddb34..84a300d80454 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")