diff mbox

[ARM/AArch64,PR,60743] Reduce divider reservation duration in A53 pipeline decription

Message ID 533EA72A.7010109@arm.com
State New
Headers show

Commit Message

Kyrylo Tkachov April 4, 2014, 12:35 p.m. UTC
Hi all,

In PR 60743 it is noted that the genautomata computation has increased a lot in 
both size and time due to my recently added a53 scheduling additions.
This patch attempts to mitigate that by reducing the large reservation duration 
of the dividers that is causing a state-space explosion in the automaton.
Without this patch I've observed a memory usage of around 750MB on my host 
machine while running genautomata. With this patch, it is about 410MB and much 
faster.

Bernd, can you try this out and see if the genautomata behaviour is acceptable 
on your system now?

Bootstrapped and tested on aarch64-linux-gnu and arm-none-linux-gnueabihf.
Looked at various testcases involving the dividers to make sure that codegen is 
not affected.

Ok for trunk?
Thanks,
Kyrill

2014-04-04  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>

     PR bootstrap/60743
     * config/arm/cortex-a53.md (cortex_a53_fdivs): Reduce reservation
     duration.
     (cortex_a53_fdivd): Likewise.

Comments

Ramana Radhakrishnan April 4, 2014, 3:41 p.m. UTC | #1
On Fri, Apr 4, 2014 at 1:35 PM, Kyrill Tkachov <kyrylo.tkachov@arm.com> wrote:
> Hi all,
>
> In PR 60743 it is noted that the genautomata computation has increased a lot
> in both size and time due to my recently added a53 scheduling additions.
> This patch attempts to mitigate that by reducing the large reservation
> duration of the dividers that is causing a state-space explosion in the
> automaton.
> Without this patch I've observed a memory usage of around 750MB on my host
> machine while running genautomata. With this patch, it is about 410MB and
> much faster.
>
> Bernd, can you try this out and see if the genautomata behaviour is
> acceptable on your system now?
>
> Bootstrapped and tested on aarch64-linux-gnu and arm-none-linux-gnueabihf.
> Looked at various testcases involving the dividers to make sure that codegen
> is not affected.
>
> Ok for trunk?

This is ok. Thanks for fixing this so promptly.

Ramana

> Thanks,
> Kyrill
>
> 2014-04-04  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
>
>     PR bootstrap/60743
>     * config/arm/cortex-a53.md (cortex_a53_fdivs): Reduce reservation
>     duration.
>     (cortex_a53_fdivd): Likewise.
diff mbox

Patch

diff --git a/gcc/config/arm/cortex-a53.md b/gcc/config/arm/cortex-a53.md
index b131c81..a629bd6 100644
--- a/gcc/config/arm/cortex-a53.md
+++ b/gcc/config/arm/cortex-a53.md
@@ -245,12 +245,12 @@ 
 (define_insn_reservation "cortex_a53_fdivs" 14
   (and (eq_attr "tune" "cortexa53")
        (eq_attr "type" "fdivs, fsqrts"))
-  "cortex_a53_slot0, cortex_a53_fp_div_sqrt * 13")
+  "cortex_a53_slot0, cortex_a53_fp_div_sqrt * 5")
 
 (define_insn_reservation "cortex_a53_fdivd" 29
   (and (eq_attr "tune" "cortexa53")
        (eq_attr "type" "fdivd, fsqrtd"))
-  "cortex_a53_slot0, cortex_a53_fp_div_sqrt * 28")
+  "cortex_a53_slot0, cortex_a53_fp_div_sqrt * 8")
 
 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
 ;; ARMv8-A Cryptographic extensions.