summaryrefslogtreecommitdiffstats
path: root/toolchain-layer/recipes-devtools/gcc/gcc-4.6/linaro/gcc-4.6-linaro-r106799.patch
diff options
context:
space:
mode:
Diffstat (limited to 'toolchain-layer/recipes-devtools/gcc/gcc-4.6/linaro/gcc-4.6-linaro-r106799.patch')
-rw-r--r--toolchain-layer/recipes-devtools/gcc/gcc-4.6/linaro/gcc-4.6-linaro-r106799.patch75
1 files changed, 0 insertions, 75 deletions
diff --git a/toolchain-layer/recipes-devtools/gcc/gcc-4.6/linaro/gcc-4.6-linaro-r106799.patch b/toolchain-layer/recipes-devtools/gcc/gcc-4.6/linaro/gcc-4.6-linaro-r106799.patch
deleted file mode 100644
index c440db91e1..0000000000
--- a/toolchain-layer/recipes-devtools/gcc/gcc-4.6/linaro/gcc-4.6-linaro-r106799.patch
+++ /dev/null
@@ -1,75 +0,0 @@
1 2011-09-05 Ramana Radhakrishnan <ramana.radhakrishnan@linaro.org>
2
3 Backport from mainline.
4 2011-08-26 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
5
6 * config/arm/cortex-a9.md ("cortex_a9_mult_long"): New.
7 ("cortex_a9_multiply_long"): New and use above. Handle all
8 long multiply cases.
9 ("cortex_a9_multiply"): Handle smmul and smmulr.
10 ("cortex_a9_mac"): Handle smmla.
11
12=== modified file 'gcc/config/arm/cortex-a9.md'
13--- old/gcc/config/arm/cortex-a9.md 2011-01-18 15:28:08 +0000
14+++ new/gcc/config/arm/cortex-a9.md 2011-08-26 08:52:15 +0000
15@@ -68,7 +68,8 @@
16 "cortex_a9_mac_m1*2, cortex_a9_mac_m2, cortex_a9_p0_wb")
17 (define_reservation "cortex_a9_mac"
18 "cortex_a9_multcycle1*2 ,cortex_a9_mac_m2, cortex_a9_p0_wb")
19-
20+(define_reservation "cortex_a9_mult_long"
21+ "cortex_a9_mac_m1*3, cortex_a9_mac_m2, cortex_a9_p0_wb")
22
23 ;; Issue at the same time along the load store pipeline and
24 ;; the VFP / Neon pipeline is not possible.
25@@ -139,29 +140,35 @@
26 (eq_attr "insn" "smlaxy"))
27 "cortex_a9_mac16")
28
29-
30 (define_insn_reservation "cortex_a9_multiply" 4
31 (and (eq_attr "tune" "cortexa9")
32- (eq_attr "insn" "mul"))
33+ (eq_attr "insn" "mul,smmul,smmulr"))
34 "cortex_a9_mult")
35
36 (define_insn_reservation "cortex_a9_mac" 4
37 (and (eq_attr "tune" "cortexa9")
38- (eq_attr "insn" "mla"))
39+ (eq_attr "insn" "mla,smmla"))
40 "cortex_a9_mac")
41
42+(define_insn_reservation "cortex_a9_multiply_long" 5
43+ (and (eq_attr "tune" "cortexa9")
44+ (eq_attr "insn" "smull,umull,smulls,umulls,smlal,smlals,umlal,umlals"))
45+ "cortex_a9_mult_long")
46+
47 ;; An instruction with a result in E2 can be forwarded
48 ;; to E2 or E1 or M1 or the load store unit in the next cycle.
49
50 (define_bypass 1 "cortex_a9_dp"
51 "cortex_a9_dp_shift, cortex_a9_multiply,
52 cortex_a9_load1_2, cortex_a9_dp, cortex_a9_store1_2,
53- cortex_a9_mult16, cortex_a9_mac16, cortex_a9_mac, cortex_a9_store3_4, cortex_a9_load3_4")
54+ cortex_a9_mult16, cortex_a9_mac16, cortex_a9_mac, cortex_a9_store3_4, cortex_a9_load3_4,
55+ cortex_a9_multiply_long")
56
57 (define_bypass 2 "cortex_a9_dp_shift"
58 "cortex_a9_dp_shift, cortex_a9_multiply,
59 cortex_a9_load1_2, cortex_a9_dp, cortex_a9_store1_2,
60- cortex_a9_mult16, cortex_a9_mac16, cortex_a9_mac, cortex_a9_store3_4, cortex_a9_load3_4")
61+ cortex_a9_mult16, cortex_a9_mac16, cortex_a9_mac, cortex_a9_store3_4, cortex_a9_load3_4,
62+ cortex_a9_multiply_long")
63
64 ;; An instruction in the load store pipeline can provide
65 ;; read access to a DP instruction in the P0 default pipeline
66@@ -212,7 +219,7 @@
67
68 (define_bypass 1
69 "cortex_a9_fps"
70- "cortex_a9_fadd, cortex_a9_fps, cortex_a9_fcmp, cortex_a9_dp, cortex_a9_dp_shift, cortex_a9_multiply")
71+ "cortex_a9_fadd, cortex_a9_fps, cortex_a9_fcmp, cortex_a9_dp, cortex_a9_dp_shift, cortex_a9_multiply, cortex_a9_multiply_long")
72
73 ;; Scheduling on the FP_ADD pipeline.
74 (define_reservation "ca9fp_add" "ca9_issue_vfp_neon + ca9fp_add1, ca9fp_add2, ca9fp_add3, ca9fp_add4")
75