diff options
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.patch | 75 |
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 | |||