python-cryptography: bump to version 1.7.2
[buildroot-gz.git] / package / gcc / 5.4.0 / 831-ARM-PR-target-70473-Reduce-size-of-Cortex-A8-automat.patch
blobd8c74f959e9ba15615e549d572409e8b6a18d923
1 From 89bd94250827f887b38211ac048b4006229dc9c0 Mon Sep 17 00:00:00 2001
2 From: ktkachov <ktkachov@138bc75d-0d04-0410-961f-82ee72b054a4>
3 Date: Fri, 26 Aug 2016 10:23:20 +0000
4 Subject: [PATCH] [ARM] PR target/70473: Reduce size of Cortex-A8 automaton
6 PR target/70473
7 * config/arm/cortex-a8-neon.md (cortex_a8_vfp_muld): Reduce
8 reservation duration to 15 cycles.
9 (cortex_a8_vfp_macs): Likewise.
10 (cortex_a8_vfp_macd): Likewise.
11 (cortex_a8_vfp_divs): Likewise.
12 (cortex_a8_vfp_divd): Likewise.
14 git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@239772 138bc75d-0d04-0410-961f-82ee72b054a4
16 [Backport from gcc upstream commit 79f5d5e3cd5a668d5ecb2b6b0cce80ef5706ac53.]
17 Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
18 ---
19 gcc/config/arm/cortex-a8-neon.md | 14 +++++++++-----
20 1 file changed, 9 insertions(+), 5 deletions(-)
22 diff --git a/gcc/config/arm/cortex-a8-neon.md b/gcc/config/arm/cortex-a8-neon.md
23 index 04fa01e..4e6d05d 100644
24 --- a/gcc/config/arm/cortex-a8-neon.md
25 +++ b/gcc/config/arm/cortex-a8-neon.md
26 @@ -357,30 +357,34 @@
27 (eq_attr "type" "fmuls"))
28 "cortex_a8_vfp,cortex_a8_vfplite*11")
30 +;; Don't model a reservation for more than 15 cycles as this explodes the
31 +;; state space of the automaton for little gain. It is unlikely that the
32 +;; scheduler will find enough instructions to hide the full latency of the
33 +;; instructions.
34 (define_insn_reservation "cortex_a8_vfp_muld" 17
35 (and (eq_attr "tune" "cortexa8")
36 (eq_attr "type" "fmuld"))
37 - "cortex_a8_vfp,cortex_a8_vfplite*16")
38 + "cortex_a8_vfp,cortex_a8_vfplite*15")
40 (define_insn_reservation "cortex_a8_vfp_macs" 21
41 (and (eq_attr "tune" "cortexa8")
42 (eq_attr "type" "fmacs,ffmas"))
43 - "cortex_a8_vfp,cortex_a8_vfplite*20")
44 + "cortex_a8_vfp,cortex_a8_vfplite*15")
46 (define_insn_reservation "cortex_a8_vfp_macd" 26
47 (and (eq_attr "tune" "cortexa8")
48 (eq_attr "type" "fmacd,ffmad"))
49 - "cortex_a8_vfp,cortex_a8_vfplite*25")
50 + "cortex_a8_vfp,cortex_a8_vfplite*15")
52 (define_insn_reservation "cortex_a8_vfp_divs" 37
53 (and (eq_attr "tune" "cortexa8")
54 (eq_attr "type" "fdivs, fsqrts"))
55 - "cortex_a8_vfp,cortex_a8_vfplite*36")
56 + "cortex_a8_vfp,cortex_a8_vfplite*15")
58 (define_insn_reservation "cortex_a8_vfp_divd" 65
59 (and (eq_attr "tune" "cortexa8")
60 (eq_attr "type" "fdivd, fsqrtd"))
61 - "cortex_a8_vfp,cortex_a8_vfplite*64")
62 + "cortex_a8_vfp,cortex_a8_vfplite*15")
64 ;; Comparisons can actually take 7 cycles sometimes instead of four,
65 ;; but given all the other instructions lumped into type=ffarith that
66 --
67 2.7.4