]>
Commit | Line | Data |
---|---|---|
855828f1 | 1 | ;; ARM Cortex-A15 NEON pipeline description |
d1e082c2 | 2 | ;; Copyright (C) 2012-2013 Free Software Foundation, Inc. |
855828f1 MGD |
3 | ;; |
4 | ;; This file is part of GCC. | |
5 | ;; | |
6 | ;; GCC is free software; you can redistribute it and/or modify it | |
7 | ;; under the terms of the GNU General Public License as published by | |
8 | ;; the Free Software Foundation; either version 3, or (at your option) | |
9 | ;; any later version. | |
10 | ;; | |
11 | ;; GCC is distributed in the hope that it will be useful, but | |
12 | ;; WITHOUT ANY WARRANTY; without even the implied warranty of | |
13 | ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | |
14 | ;; General Public License for more details. | |
15 | ;; | |
16 | ;; You should have received a copy of the GNU General Public License | |
17 | ;; along with GCC; see the file COPYING3. If not see | |
18 | ;; <http://www.gnu.org/licenses/>. | |
19 | ||
20 | (define_automaton "cortex_a15_neon") | |
21 | ||
22 | ;; Dispatch unit. | |
23 | (define_cpu_unit "ca15_cx_ij, ca15_cx_ik" "cortex_a15_neon") | |
24 | ||
25 | ;; Accumulate. | |
26 | (define_cpu_unit "ca15_cx_acc" "cortex_a15_neon") | |
27 | ||
28 | ;; The 32x32 integer multiply-accumulate pipeline. | |
29 | (define_cpu_unit "ca15_cx_imac1" "cortex_a15_neon") | |
30 | (define_reservation "ca15_cx_imac" "(ca15_cx_ij+ca15_cx_imac1)") | |
31 | ||
32 | ||
33 | ;; The 64-bit ALU pipeline. | |
34 | (define_cpu_unit "ca15_cx_ialu1, ca15_cx_ialu2" "cortex_a15_neon") | |
35 | ||
36 | ;; IALU with accumulate. | |
37 | (define_reservation "ca15_cx_ialu_with_acc" "ca15_cx_ik+ca15_cx_ialu2+ca15_cx_acc") | |
38 | ||
39 | (define_reservation "ca15_cx_ialu" | |
40 | "((ca15_cx_ij+ca15_cx_ialu1)|(ca15_cx_ik+ca15_cx_ialu2))") | |
41 | ||
42 | ;; Integer shift pipeline. | |
43 | (define_cpu_unit "ca15_cx_ishf" "cortex_a15_neon") | |
44 | (define_reservation "ca15_cx_ishf_with_acc" "ca15_cx_ik+ca15_cx_ishf+ca15_cx_acc") | |
45 | ||
46 | ;; SIMD multiply pipeline. | |
47 | (define_cpu_unit "ca15_cx_fmul1, ca15_cx_fmul2, ca15_cx_fmul3, ca15_cx_fmul4" | |
48 | "cortex_a15_neon") | |
49 | ||
50 | (define_reservation "ca15_cx_fmul" | |
51 | "(ca15_cx_ij+(ca15_cx_fmul1|ca15_cx_fmul2))|\ | |
52 | (ca15_cx_ik+(ca15_cx_fmul3|ca15_cx_fmul4))") | |
53 | ||
54 | (define_reservation "ca15_cx_fmul_2" | |
55 | "(ca15_cx_ij+(ca15_cx_fmul1|ca15_cx_fmul2))+\ | |
56 | (ca15_cx_ik+(ca15_cx_fmul3|ca15_cx_fmul4))") | |
57 | ||
58 | ;; SIMD ALU pipeline. | |
59 | (define_cpu_unit "ca15_cx_falu1, ca15_cx_falu2, ca15_cx_falu3, ca15_cx_falu4" | |
60 | "cortex_a15_neon") | |
61 | ||
62 | (define_reservation "ca15_cx_falu" | |
63 | "(ca15_cx_ij+(ca15_cx_falu1|ca15_cx_falu2))|\ | |
64 | (ca15_cx_ik+(ca15_cx_falu3|ca15_cx_falu4))") | |
65 | ||
66 | (define_reservation "ca15_cx_falu_2" | |
67 | "(ca15_cx_ij+(ca15_cx_falu1|ca15_cx_falu2))+\ | |
68 | (ca15_cx_ik+(ca15_cx_falu3|ca15_cx_falu4))") | |
69 | ||
70 | ;; SIMD multiply-accumulate pipeline. | |
71 | ;; This can be used if fmul and falu are not reserved. | |
72 | (define_reservation "ca15_cx_fmac" | |
73 | "((ca15_cx_ij+ca15_cx_fmul1),nothing*2,ca15_cx_falu1)|\ | |
74 | ((ca15_cx_ij+ca15_cx_fmul2),nothing*2,ca15_cx_falu2)|\ | |
75 | ((ca15_cx_ik+ca15_cx_fmul3),nothing*2,ca15_cx_falu3)|\ | |
76 | ((ca15_cx_ik+ca15_cx_fmul4),nothing*2,ca15_cx_falu4)") | |
77 | ||
78 | (define_reservation "ca15_cx_fmac_2" | |
79 | "(((ca15_cx_ij+ca15_cx_fmul1),nothing*2,ca15_cx_falu1)|\ | |
80 | ((ca15_cx_ij+ca15_cx_fmul2),nothing*2,ca15_cx_falu2))+\ | |
81 | (((ca15_cx_ik+ca15_cx_fmul3),nothing*2,ca15_cx_falu3)|\ | |
82 | ((ca15_cx_ik+ca15_cx_fmul4),nothing*2,ca15_cx_falu4))") | |
83 | ||
84 | ||
85 | ;; Vector FP multiply pipeline | |
86 | (define_cpu_unit "ca15_cx_vfp_i" "cortex_a15_neon") | |
87 | ||
88 | (define_reservation "ca15_cx_vfp" "ca15_cx_ik+ca15_cx_vfp_i") | |
89 | ||
90 | ;; Load permute pipeline | |
91 | (define_reservation "ca15_cx_perm" "ca15_cx_ij|ca15_cx_ik") | |
92 | (define_reservation "ca15_cx_perm_2" "ca15_cx_ij+ca15_cx_ik") | |
93 | ||
94 | (define_insn_reservation "cortex_a15_neon_int_1" 5 | |
95 | (and (eq_attr "tune" "cortexa15") | |
003bb7f3 | 96 | (eq_attr "type" "neon_int_1")) |
855828f1 MGD |
97 | "ca15_issue1,ca15_cx_ialu") |
98 | ||
99 | (define_insn_reservation "cortex_a15_neon_int_2" 5 | |
100 | (and (eq_attr "tune" "cortexa15") | |
003bb7f3 | 101 | (eq_attr "type" "neon_int_2")) |
855828f1 MGD |
102 | "ca15_issue1,ca15_cx_ialu") |
103 | ||
104 | (define_insn_reservation "cortex_a15_neon_int_3" 5 | |
105 | (and (eq_attr "tune" "cortexa15") | |
003bb7f3 | 106 | (eq_attr "type" "neon_int_3")) |
855828f1 MGD |
107 | "ca15_issue1,ca15_cx_ialu") |
108 | ||
109 | (define_insn_reservation "cortex_a15_neon_int_4" 5 | |
110 | (and (eq_attr "tune" "cortexa15") | |
003bb7f3 | 111 | (eq_attr "type" "neon_int_4")) |
855828f1 MGD |
112 | "ca15_issue1,ca15_cx_ialu") |
113 | ||
114 | (define_insn_reservation "cortex_a15_neon_int_5" 5 | |
115 | (and (eq_attr "tune" "cortexa15") | |
003bb7f3 | 116 | (eq_attr "type" "neon_int_5")) |
855828f1 MGD |
117 | "ca15_issue1,ca15_cx_ialu") |
118 | ||
119 | (define_insn_reservation "cortex_a15_neon_vqneg_vqabs" 5 | |
120 | (and (eq_attr "tune" "cortexa15") | |
003bb7f3 | 121 | (eq_attr "type" "neon_vqneg_vqabs")) |
855828f1 MGD |
122 | "ca15_issue1,ca15_cx_ialu") |
123 | ||
124 | (define_insn_reservation "cortex_a15_neon_vmov" 5 | |
125 | (and (eq_attr "tune" "cortexa15") | |
003bb7f3 | 126 | (eq_attr "type" "neon_vmov")) |
855828f1 MGD |
127 | "ca15_issue1,ca15_cx_ialu") |
128 | ||
129 | (define_insn_reservation "cortex_a15_neon_vaba" 7 | |
130 | (and (eq_attr "tune" "cortexa15") | |
003bb7f3 | 131 | (eq_attr "type" "neon_vaba")) |
855828f1 MGD |
132 | "ca15_issue1,ca15_cx_ialu_with_acc") |
133 | ||
134 | (define_insn_reservation "cortex_a15_neon_vaba_qqq" 8 | |
135 | (and (eq_attr "tune" "cortexa15") | |
003bb7f3 | 136 | (eq_attr "type" "neon_vaba_qqq")) |
855828f1 MGD |
137 | "ca15_issue2,ca15_cx_ialu_with_acc*2") |
138 | ||
139 | (define_insn_reservation | |
140 | "cortex_a15_neon_mul_ddd_8_16_qdd_16_8_long_32_16_long" 6 | |
141 | (and (eq_attr "tune" "cortexa15") | |
003bb7f3 | 142 | (eq_attr "type" "neon_mul_ddd_8_16_qdd_16_8_long_32_16_long")) |
855828f1 MGD |
143 | "ca15_issue1,ca15_cx_imac") |
144 | ||
145 | (define_insn_reservation "cortex_a15_neon_mul_qqq_8_16_32_ddd_32" 7 | |
146 | (and (eq_attr "tune" "cortexa15") | |
003bb7f3 | 147 | (eq_attr "type" "neon_mul_qqq_8_16_32_ddd_32")) |
855828f1 MGD |
148 | "ca15_issue1,ca15_cx_imac*2") |
149 | ||
150 | (define_insn_reservation | |
151 | "cortex_a15_neon_mul_qdd_64_32_long_qqd_16_ddd_32_scalar_64_32_long_scalar" 7 | |
152 | (and (eq_attr "tune" "cortexa15") | |
003bb7f3 | 153 | (eq_attr "type" |
855828f1 MGD |
154 | "neon_mul_qdd_64_32_long_qqd_16_ddd_32_scalar_64_32_long_scalar")) |
155 | "ca15_issue1,ca15_cx_imac*2") | |
156 | ||
157 | (define_insn_reservation | |
158 | "cortex_a15_neon_mla_ddd_8_16_qdd_16_8_long_32_16_long" 6 | |
159 | (and (eq_attr "tune" "cortexa15") | |
003bb7f3 | 160 | (eq_attr "type" |
855828f1 MGD |
161 | "neon_mla_ddd_8_16_qdd_16_8_long_32_16_long")) |
162 | "ca15_issue1,ca15_cx_imac") | |
163 | ||
164 | (define_insn_reservation | |
165 | "cortex_a15_neon_mla_qqq_8_16" 7 | |
166 | (and (eq_attr "tune" "cortexa15") | |
003bb7f3 | 167 | (eq_attr "type" |
855828f1 MGD |
168 | "neon_mla_qqq_8_16")) |
169 | "ca15_issue1,ca15_cx_imac*2") | |
170 | ||
171 | (define_insn_reservation | |
172 | "cortex_a15_neon_mla_ddd_32_qqd_16_ddd_32_scalar_\ | |
003bb7f3 | 173 | qdd_64_32_lotype_qdd_64_32_long" 7 |
855828f1 | 174 | (and (eq_attr "tune" "cortexa15") |
003bb7f3 | 175 | (eq_attr "type" "neon_mla_ddd_32_qqd_16_ddd_32_scalar_qdd_64_32_long_scalar_qdd_64_32_long")) |
855828f1 MGD |
176 | "ca15_issue1,ca15_cx_imac") |
177 | ||
178 | (define_insn_reservation | |
179 | "cortex_a15_neon_mla_qqq_32_qqd_32_scalar" 7 | |
180 | (and (eq_attr "tune" "cortexa15") | |
003bb7f3 | 181 | (eq_attr "type" "neon_mla_qqq_32_qqd_32_scalar")) |
855828f1 MGD |
182 | "ca15_issue1,ca15_cx_imac*2") |
183 | ||
184 | (define_insn_reservation | |
185 | "cortex_a15_neon_mul_ddd_16_scalar_32_16_long_scalar" 6 | |
186 | (and (eq_attr "tune" "cortexa15") | |
003bb7f3 | 187 | (eq_attr "type" "neon_mul_ddd_16_scalar_32_16_long_scalar")) |
855828f1 MGD |
188 | "ca15_issue1,ca15_cx_imac") |
189 | ||
190 | (define_insn_reservation | |
191 | "cortex_a15_neon_mul_qqd_32_scalar" 7 | |
192 | (and (eq_attr "tune" "cortexa15") | |
003bb7f3 | 193 | (eq_attr "type" "neon_mul_qqd_32_scalar")) |
855828f1 MGD |
194 | "ca15_issue1,ca15_cx_imac*2") |
195 | ||
196 | (define_insn_reservation | |
197 | "cortex_a15_neon_mla_ddd_16_scalar_qdd_32_16_long_scalar" 6 | |
198 | (and (eq_attr "tune" "cortexa15") | |
003bb7f3 | 199 | (eq_attr "type" "neon_mla_ddd_16_scalar_qdd_32_16_long_scalar")) |
855828f1 MGD |
200 | "ca15_issue1,ca15_cx_imac") |
201 | ||
202 | (define_insn_reservation | |
203 | "cortex_a15_neon_shift_1" 5 | |
204 | (and (eq_attr "tune" "cortexa15") | |
003bb7f3 | 205 | (eq_attr "type" "neon_shift_1")) |
855828f1 MGD |
206 | "ca15_issue1,ca15_cx_ik+ca15_cx_ishf") |
207 | ||
208 | (define_insn_reservation | |
209 | "cortex_a15_neon_shift_2" 5 | |
210 | (and (eq_attr "tune" "cortexa15") | |
003bb7f3 | 211 | (eq_attr "type" "neon_shift_2")) |
855828f1 MGD |
212 | "ca15_issue1,ca15_cx_ik+ca15_cx_ishf") |
213 | ||
214 | (define_insn_reservation | |
215 | "cortex_a15_neon_shift_3" 6 | |
216 | (and (eq_attr "tune" "cortexa15") | |
003bb7f3 | 217 | (eq_attr "type" "neon_shift_3")) |
855828f1 MGD |
218 | "ca15_issue2,(ca15_cx_ik+ca15_cx_ishf)*2") |
219 | ||
220 | (define_insn_reservation | |
221 | "cortex_a15_neon_vshl_ddd" 5 | |
222 | (and (eq_attr "tune" "cortexa15") | |
003bb7f3 | 223 | (eq_attr "type" "neon_vshl_ddd")) |
855828f1 MGD |
224 | "ca15_issue1,ca15_cx_ik+ca15_cx_ishf") |
225 | ||
226 | (define_insn_reservation | |
227 | "cortex_a15_neon_vqshl_vrshl_vqrshl_qqq" 6 | |
228 | (and (eq_attr "tune" "cortexa15") | |
003bb7f3 | 229 | (eq_attr "type" "neon_vqshl_vrshl_vqrshl_qqq")) |
855828f1 MGD |
230 | "ca15_issue2,(ca15_cx_ik+ca15_cx_ishf)*2") |
231 | ||
232 | (define_insn_reservation | |
233 | "cortex_a15_neon_vsra_vrsra" 7 | |
234 | (and (eq_attr "tune" "cortexa15") | |
003bb7f3 | 235 | (eq_attr "type" "neon_vsra_vrsra")) |
855828f1 MGD |
236 | "ca15_issue1,ca15_cx_ishf_with_acc") |
237 | ||
238 | (define_insn_reservation | |
239 | "cortex_a15_neon_fp_vadd_ddd_vabs_dd" 6 | |
240 | (and (eq_attr "tune" "cortexa15") | |
003bb7f3 | 241 | (eq_attr "type" "neon_fp_vadd_ddd_vabs_dd")) |
855828f1 MGD |
242 | "ca15_issue1,ca15_cx_falu") |
243 | ||
244 | (define_insn_reservation | |
245 | "cortex_a15_neon_fp_vadd_qqq_vabs_qq" 7 | |
246 | (and (eq_attr "tune" "cortexa15") | |
003bb7f3 | 247 | (eq_attr "type" "neon_fp_vadd_qqq_vabs_qq")) |
855828f1 MGD |
248 | "ca15_issue2,ca15_cx_falu_2") |
249 | ||
250 | (define_insn_reservation | |
251 | "cortex_a15_neon_fp_vmul_ddd" 5 | |
252 | (and (eq_attr "tune" "cortexa15") | |
003bb7f3 | 253 | (eq_attr "type" "neon_fp_vmul_ddd")) |
855828f1 MGD |
254 | "ca15_issue1,ca15_cx_fmul") |
255 | ||
256 | (define_insn_reservation | |
257 | "cortex_a15_neon_fp_vmul_qqd" 6 | |
258 | (and (eq_attr "tune" "cortexa15") | |
003bb7f3 | 259 | (eq_attr "type" "neon_fp_vmul_qqd")) |
855828f1 MGD |
260 | "ca15_issue2,ca15_cx_fmul_2") |
261 | ||
262 | (define_insn_reservation | |
263 | "cortex_a15_neon_fp_vmla_ddd" 9 | |
264 | (and (eq_attr "tune" "cortexa15") | |
003bb7f3 | 265 | (eq_attr "type" "neon_fp_vmla_ddd")) |
855828f1 MGD |
266 | "ca15_issue1,ca15_cx_fmac") |
267 | ||
268 | (define_insn_reservation | |
269 | "cortex_a15_neon_fp_vmla_qqq" 11 | |
270 | (and (eq_attr "tune" "cortexa15") | |
003bb7f3 | 271 | (eq_attr "type" "neon_fp_vmla_qqq")) |
855828f1 MGD |
272 | "ca15_issue2,ca15_cx_fmac_2") |
273 | ||
274 | (define_insn_reservation | |
275 | "cortex_a15_neon_fp_vmla_ddd_scalar" 9 | |
276 | (and (eq_attr "tune" "cortexa15") | |
003bb7f3 | 277 | (eq_attr "type" "neon_fp_vmla_ddd_scalar")) |
855828f1 MGD |
278 | "ca15_issue1,ca15_cx_fmac") |
279 | ||
280 | (define_insn_reservation | |
281 | "cortex_a15_neon_fp_vmla_qqq_scalar" 11 | |
282 | (and (eq_attr "tune" "cortexa15") | |
003bb7f3 | 283 | (eq_attr "type" "neon_fp_vmla_qqq_scalar")) |
855828f1 MGD |
284 | "ca15_issue2,ca15_cx_fmac_2") |
285 | ||
286 | (define_insn_reservation | |
287 | "cortex_a15_neon_fp_vrecps_vrsqrts_ddd" 9 | |
288 | (and (eq_attr "tune" "cortexa15") | |
003bb7f3 | 289 | (eq_attr "type" "neon_fp_vrecps_vrsqrts_ddd")) |
855828f1 MGD |
290 | "ca15_issue1,ca15_cx_fmac") |
291 | ||
292 | (define_insn_reservation | |
293 | "cortex_a15_neon_fp_vrecps_vrsqrts_qqq" 11 | |
294 | (and (eq_attr "tune" "cortexa15") | |
003bb7f3 | 295 | (eq_attr "type" "neon_fp_vrecps_vrsqrts_qqq")) |
855828f1 MGD |
296 | "ca15_issue2,ca15_cx_fmac_2") |
297 | ||
298 | (define_insn_reservation | |
299 | "cortex_a15_neon_bp_simple" 4 | |
300 | (and (eq_attr "tune" "cortexa15") | |
003bb7f3 | 301 | (eq_attr "type" "neon_bp_simple")) |
855828f1 MGD |
302 | "ca15_issue3,ca15_ls+ca15_cx_perm_2,ca15_cx_perm") |
303 | ||
304 | (define_insn_reservation | |
305 | "cortex_a15_neon_bp_2cycle" 4 | |
306 | (and (eq_attr "tune" "cortexa15") | |
003bb7f3 | 307 | (eq_attr "type" "neon_bp_2cycle")) |
855828f1 MGD |
308 | "ca15_issue1,ca15_cx_perm") |
309 | ||
310 | (define_insn_reservation | |
311 | "cortex_a15_neon_bp_3cycle" 7 | |
312 | (and (eq_attr "tune" "cortexa15") | |
003bb7f3 | 313 | (eq_attr "type" "neon_bp_3cycle")) |
855828f1 MGD |
314 | "ca15_issue3,ca15_cx_ialu+ca15_cx_perm_2,ca15_cx_perm") |
315 | ||
316 | (define_insn_reservation | |
317 | "cortex_a15_neon_vld1_1_2_regs" 7 | |
318 | (and (eq_attr "tune" "cortexa15") | |
003bb7f3 | 319 | (eq_attr "type" "neon_vld1_1_2_regs")) |
855828f1 MGD |
320 | "ca15_issue2,ca15_ls,ca15_ldr") |
321 | ||
322 | (define_insn_reservation | |
323 | "cortex_a15_neon_vld1_3_4_regs" 8 | |
324 | (and (eq_attr "tune" "cortexa15") | |
003bb7f3 | 325 | (eq_attr "type" "neon_vld1_3_4_regs")) |
855828f1 MGD |
326 | "ca15_issue3,ca15_ls1+ca15_ls2,ca15_ldr,ca15_ldr") |
327 | ||
328 | (define_insn_reservation | |
329 | "cortex_a15_neon_vld2_2_regs_vld1_vld2_all_lanes" 9 | |
330 | (and (eq_attr "tune" "cortexa15") | |
003bb7f3 | 331 | (eq_attr "type" "neon_vld2_2_regs_vld1_vld2_all_lanes")) |
855828f1 MGD |
332 | "ca15_issue3,ca15_ls,ca15_ldr") |
333 | ||
334 | (define_insn_reservation | |
335 | "cortex_a15_neon_vld2_4_regs" 12 | |
336 | (and (eq_attr "tune" "cortexa15") | |
003bb7f3 | 337 | (eq_attr "type" "neon_vld2_4_regs")) |
855828f1 MGD |
338 | "ca15_issue3,ca15_issue3+ca15_ls1+ca15_ls2,ca15_ldr*2") |
339 | ||
340 | (define_insn_reservation | |
341 | "cortex_a15_neon_vld3_vld4" 12 | |
342 | (and (eq_attr "tune" "cortexa15") | |
003bb7f3 | 343 | (eq_attr "type" "neon_vld3_vld4")) |
855828f1 MGD |
344 | "ca15_issue3,ca15_issue3+ca15_ls1+ca15_ls2,ca15_ldr*2") |
345 | ||
346 | (define_insn_reservation | |
347 | "cortex_a15_neon_vst1_1_2_regs_vst2_2_regs" 0 | |
348 | (and (eq_attr "tune" "cortexa15") | |
003bb7f3 | 349 | (eq_attr "type" "neon_vst1_1_2_regs_vst2_2_regs")) |
855828f1 MGD |
350 | "ca15_issue3,ca15_issue3+ca15_cx_perm+ca15_ls1+ca15_ls2,ca15_str*2") |
351 | ||
352 | (define_insn_reservation | |
353 | "cortex_a15_neon_vst1_3_4_regs" 0 | |
354 | (and (eq_attr "tune" "cortexa15") | |
003bb7f3 | 355 | (eq_attr "type" "neon_vst1_3_4_regs")) |
855828f1 MGD |
356 | "ca15_issue3,ca15_issue3+ca15_ls1+ca15_ls2,ca15_str*3") |
357 | ||
358 | (define_insn_reservation | |
359 | "cortex_a15_neon_vst2_4_regs_vst3_vst4" 0 | |
360 | (and (eq_attr "tune" "cortexa15") | |
003bb7f3 | 361 | (eq_attr "type" "neon_vst2_4_regs_vst3_vst4")) |
855828f1 MGD |
362 | "ca15_issue3,ca15_issue3+ca15_cx_perm_2+ca15_ls1+ca15_ls2,\ |
363 | ca15_issue3+ca15_str,ca15_str*3") | |
364 | ||
365 | (define_insn_reservation | |
366 | "cortex_a15_neon_vst3_vst4" 0 | |
367 | (and (eq_attr "tune" "cortexa15") | |
003bb7f3 | 368 | (eq_attr "type" "neon_vst3_vst4")) |
855828f1 MGD |
369 | "ca15_issue3,ca15_issue3+ca15_cx_perm_2+ca15_ls1+ca15_ls2,ca15_str*4") |
370 | ||
371 | (define_insn_reservation | |
372 | "cortex_a15_neon_vld1_vld2_lane" 9 | |
373 | (and (eq_attr "tune" "cortexa15") | |
003bb7f3 | 374 | (eq_attr "type" "neon_vld1_vld2_lane")) |
855828f1 MGD |
375 | "ca15_issue3,ca15_ls,ca15_ldr") |
376 | ||
377 | (define_insn_reservation | |
378 | "cortex_a15_neon_vld3_vld4_lane" 10 | |
379 | (and (eq_attr "tune" "cortexa15") | |
003bb7f3 | 380 | (eq_attr "type" "neon_vld3_vld4_lane")) |
855828f1 MGD |
381 | "ca15_issue3,ca15_issue3+ca15_ls,ca15_issue3+ca15_ldr") |
382 | ||
383 | (define_insn_reservation | |
384 | "cortex_a15_neon_vst1_vst2_lane" 0 | |
385 | (and (eq_attr "tune" "cortexa15") | |
003bb7f3 | 386 | (eq_attr "type" "neon_vst1_vst2_lane")) |
855828f1 MGD |
387 | "ca15_issue3,ca15_cx_perm+ca15_ls,ca15_str") |
388 | ||
389 | (define_insn_reservation | |
390 | "cortex_a15_neon_vst3_vst4_lane" 0 | |
391 | (and (eq_attr "tune" "cortexa15") | |
003bb7f3 | 392 | (eq_attr "type" "neon_vst3_vst4_lane")) |
855828f1 MGD |
393 | "ca15_issue3,ca15_issue3+ca15_cx_perm+ca15_ls1+ca15_ls2,ca15_str*2") |
394 | ||
395 | (define_insn_reservation | |
396 | "cortex_a15_neon_vld3_vld4_all_lanes" 11 | |
397 | (and (eq_attr "tune" "cortexa15") | |
003bb7f3 | 398 | (eq_attr "type" "neon_vld3_vld4_all_lanes")) |
855828f1 MGD |
399 | "ca15_issue3,ca15_issue3+ca15_ls,ca15_ldr") |
400 | ||
401 | (define_insn_reservation | |
402 | "cortex_a15_neon_ldm_2" 20 | |
403 | (and (eq_attr "tune" "cortexa15") | |
003bb7f3 | 404 | (eq_attr "type" "neon_ldm_2")) |
855828f1 MGD |
405 | "ca15_issue3*6") |
406 | ||
407 | (define_insn_reservation | |
408 | "cortex_a15_neon_stm_2" 0 | |
409 | (and (eq_attr "tune" "cortexa15") | |
003bb7f3 | 410 | (eq_attr "type" "neon_stm_2")) |
855828f1 MGD |
411 | "ca15_issue3*6") |
412 | ||
413 | (define_insn_reservation | |
414 | "cortex_a15_neon_mcr" 6 | |
415 | (and (eq_attr "tune" "cortexa15") | |
003bb7f3 | 416 | (eq_attr "type" "neon_mcr")) |
855828f1 MGD |
417 | "ca15_issue2,ca15_ls,ca15_cx_perm") |
418 | ||
419 | (define_insn_reservation | |
420 | "cortex_a15_neon_mcr_2_mcrr" 6 | |
421 | (and (eq_attr "tune" "cortexa15") | |
003bb7f3 | 422 | (eq_attr "type" "neon_mcr_2_mcrr")) |
855828f1 MGD |
423 | "ca15_issue2,ca15_ls1+ca15_ls2") |
424 | ||
425 | (define_insn_reservation | |
426 | "cortex_a15_neon_mrc" 5 | |
427 | (and (eq_attr "tune" "cortexa15") | |
003bb7f3 | 428 | (eq_attr "type" "neon_mrc")) |
855828f1 MGD |
429 | "ca15_issue1,ca15_ls") |
430 | ||
431 | (define_insn_reservation | |
432 | "cortex_a15_neon_mrrc" 6 | |
433 | (and (eq_attr "tune" "cortexa15") | |
003bb7f3 | 434 | (eq_attr "type" "neon_mrrc")) |
855828f1 MGD |
435 | "ca15_issue2,ca15_ls1+ca15_ls2") |
436 | ||
437 | (define_insn_reservation "cortex_a15_vfp_const" 4 | |
438 | (and (eq_attr "tune" "cortexa15") | |
439 | (eq_attr "type" "fconsts,fconstd")) | |
440 | "ca15_issue1,ca15_cx_perm") | |
441 | ||
442 | (define_insn_reservation "cortex_a15_vfp_adds_subs" 6 | |
443 | (and (eq_attr "tune" "cortexa15") | |
444 | (eq_attr "type" "fadds")) | |
445 | "ca15_issue1,ca15_cx_vfp") | |
446 | ||
447 | (define_insn_reservation "cortex_a15_vfp_addd_subd" 10 | |
448 | (and (eq_attr "tune" "cortexa15") | |
449 | (eq_attr "type" "faddd")) | |
450 | "ca15_issue2,ca15_cx_vfp*2") | |
451 | ||
452 | (define_insn_reservation "cortex_a15_vfp_muls" 7 | |
453 | (and (eq_attr "tune" "cortexa15") | |
454 | (eq_attr "type" "fmuls")) | |
455 | "ca15_issue1,ca15_cx_vfp") | |
456 | ||
457 | (define_insn_reservation "cortex_a15_vfp_muld" 12 | |
458 | (and (eq_attr "tune" "cortexa15") | |
459 | (eq_attr "type" "fmuld")) | |
460 | "ca15_issue2,ca15_cx_vfp*2") | |
461 | ||
462 | (define_insn_reservation "cortex_a15_vfp_macs" 6 | |
463 | (and (eq_attr "tune" "cortexa15") | |
29637783 | 464 | (eq_attr "type" "fmacs,ffmas")) |
855828f1 MGD |
465 | "ca15_issue1,ca15_cx_vfp") |
466 | ||
467 | (define_insn_reservation "cortex_a15_vfp_macd" 11 | |
468 | (and (eq_attr "tune" "cortexa15") | |
29637783 | 469 | (eq_attr "type" "fmacd,ffmad")) |
855828f1 MGD |
470 | "ca15_issue2,ca15_cx_vfp*2") |
471 | ||
472 | (define_insn_reservation "cortex_a15_vfp_cvt" 6 | |
473 | (and (eq_attr "tune" "cortexa15") | |
7b49c9e1 | 474 | (eq_attr "type" "f_cvt,f_cvtf2i,f_cvti2f")) |
855828f1 MGD |
475 | "ca15_issue1,ca15_cx_vfp") |
476 | ||
477 | (define_insn_reservation "cortex_a15_vfp_cmpd" 8 | |
478 | (and (eq_attr "tune" "cortexa15") | |
479 | (eq_attr "type" "fcmpd")) | |
480 | "ca15_issue2,ca15_cx_perm,ca15_cx_vfp") | |
481 | ||
482 | (define_insn_reservation "cortex_a15_vfp_cmps" 8 | |
483 | (and (eq_attr "tune" "cortexa15") | |
484 | (eq_attr "type" "fcmps")) | |
485 | "ca15_issue2,ca15_cx_perm,ca15_cx_vfp") | |
486 | ||
487 | (define_insn_reservation "cortex_a15_vfp_arithd" 7 | |
488 | (and (eq_attr "tune" "cortexa15") | |
489 | (eq_attr "type" "ffarithd")) | |
490 | "ca15_issue2,ca15_cx_perm*2") | |
491 | ||
492 | (define_insn_reservation "cortex_a15_vfp_cpys" 4 | |
493 | (and (eq_attr "tune" "cortexa15") | |
494 | (eq_attr "type" "fcpys")) | |
495 | "ca15_issue1,ca15_cx_perm") | |
496 | ||
497 | (define_insn_reservation "cortex_a15_vfp_ariths" 7 | |
498 | (and (eq_attr "tune" "cortexa15") | |
499 | (eq_attr "type" "ffariths")) | |
500 | "ca15_issue1,ca15_cx_perm") | |
501 | ||
502 | (define_insn_reservation "cortex_a15_vfp_divs" 10 | |
503 | (and (eq_attr "tune" "cortexa15") | |
b86923f0 | 504 | (eq_attr "type" "fdivs, fsqrts")) |
855828f1 MGD |
505 | "ca15_issue1,ca15_cx_ik") |
506 | ||
507 | (define_insn_reservation "cortex_a15_vfp_divd" 18 | |
508 | (and (eq_attr "tune" "cortexa15") | |
b86923f0 | 509 | (eq_attr "type" "fdivd, fsqrtd")) |
855828f1 MGD |
510 | "ca15_issue1,ca15_cx_ik") |
511 | ||
512 | ;; Define bypasses. | |
513 | (define_bypass 5 "cortex_a15_neon_mcr_2_mcrr" | |
514 | "cortex_a15_neon_int_1,\ | |
515 | cortex_a15_neon_int_4,\ | |
516 | cortex_a15_neon_mul_ddd_8_16_qdd_16_8_long_32_16_long,\ | |
517 | cortex_a15_neon_mul_qqq_8_16_32_ddd_32,\ | |
518 | cortex_a15_neon_mla_ddd_8_16_qdd_16_8_long_32_16_long,\ | |
519 | cortex_a15_neon_mla_qqq_8_16,\ | |
520 | cortex_a15_neon_fp_vadd_ddd_vabs_dd,\ | |
521 | cortex_a15_neon_fp_vadd_qqq_vabs_qq,\ | |
522 | cortex_a15_neon_fp_vmla_ddd,\ | |
523 | cortex_a15_neon_fp_vmla_qqq,\ | |
524 | cortex_a15_neon_fp_vrecps_vrsqrts_ddd,\ | |
525 | cortex_a15_neon_fp_vrecps_vrsqrts_qqq") | |
526 | ||
527 | (define_bypass 5 "cortex_a15_neon_mcr" | |
528 | "cortex_a15_neon_int_1,\ | |
529 | cortex_a15_neon_int_4,\ | |
530 | cortex_a15_neon_mul_ddd_8_16_qdd_16_8_long_32_16_long,\ | |
531 | cortex_a15_neon_mul_qqq_8_16_32_ddd_32,\ | |
532 | cortex_a15_neon_mla_ddd_8_16_qdd_16_8_long_32_16_long,\ | |
533 | cortex_a15_neon_mla_qqq_8_16,\ | |
534 | cortex_a15_neon_fp_vadd_ddd_vabs_dd,\ | |
535 | cortex_a15_neon_fp_vadd_qqq_vabs_qq,\ | |
536 | cortex_a15_neon_fp_vmla_ddd,\ | |
537 | cortex_a15_neon_fp_vmla_qqq,\ | |
538 | cortex_a15_neon_fp_vrecps_vrsqrts_ddd,\ | |
539 | cortex_a15_neon_fp_vrecps_vrsqrts_qqq") | |
540 | ||
541 | (define_bypass 10 "cortex_a15_neon_vld3_vld4_all_lanes" | |
542 | "cortex_a15_neon_int_1,\ | |
543 | cortex_a15_neon_int_4,\ | |
544 | cortex_a15_neon_mul_ddd_8_16_qdd_16_8_long_32_16_long,\ | |
545 | cortex_a15_neon_mul_qqq_8_16_32_ddd_32,\ | |
546 | cortex_a15_neon_mla_ddd_8_16_qdd_16_8_long_32_16_long,\ | |
547 | cortex_a15_neon_mla_qqq_8_16,\ | |
548 | cortex_a15_neon_fp_vadd_ddd_vabs_dd,\ | |
549 | cortex_a15_neon_fp_vadd_qqq_vabs_qq,\ | |
550 | cortex_a15_neon_fp_vmla_ddd,\ | |
551 | cortex_a15_neon_fp_vmla_qqq,\ | |
552 | cortex_a15_neon_fp_vrecps_vrsqrts_ddd,\ | |
553 | cortex_a15_neon_fp_vrecps_vrsqrts_qqq") | |
554 | ||
555 | (define_bypass 9 "cortex_a15_neon_vld3_vld4_lane" | |
556 | "cortex_a15_neon_int_1,\ | |
557 | cortex_a15_neon_int_4,\ | |
558 | cortex_a15_neon_mul_ddd_8_16_qdd_16_8_long_32_16_long,\ | |
559 | cortex_a15_neon_mul_qqq_8_16_32_ddd_32,\ | |
560 | cortex_a15_neon_mla_ddd_8_16_qdd_16_8_long_32_16_long,\ | |
561 | cortex_a15_neon_mla_qqq_8_16,\ | |
562 | cortex_a15_neon_fp_vadd_ddd_vabs_dd,\ | |
563 | cortex_a15_neon_fp_vadd_qqq_vabs_qq,\ | |
564 | cortex_a15_neon_fp_vmla_ddd,\ | |
565 | cortex_a15_neon_fp_vmla_qqq,\ | |
566 | cortex_a15_neon_fp_vrecps_vrsqrts_ddd,\ | |
567 | cortex_a15_neon_fp_vrecps_vrsqrts_qqq") | |
568 | ||
569 | (define_bypass 8 "cortex_a15_neon_vld1_vld2_lane" | |
570 | "cortex_a15_neon_int_1,\ | |
571 | cortex_a15_neon_int_4,\ | |
572 | cortex_a15_neon_mul_ddd_8_16_qdd_16_8_long_32_16_long,\ | |
573 | cortex_a15_neon_mul_qqq_8_16_32_ddd_32,\ | |
574 | cortex_a15_neon_mla_ddd_8_16_qdd_16_8_long_32_16_long,\ | |
575 | cortex_a15_neon_mla_qqq_8_16,\ | |
576 | cortex_a15_neon_fp_vadd_ddd_vabs_dd,\ | |
577 | cortex_a15_neon_fp_vadd_qqq_vabs_qq,\ | |
578 | cortex_a15_neon_fp_vmla_ddd,\ | |
579 | cortex_a15_neon_fp_vmla_qqq,\ | |
580 | cortex_a15_neon_fp_vrecps_vrsqrts_ddd,\ | |
581 | cortex_a15_neon_fp_vrecps_vrsqrts_qqq") | |
582 | ||
583 | (define_bypass 11 "cortex_a15_neon_vld3_vld4" | |
584 | "cortex_a15_neon_int_1,\ | |
585 | cortex_a15_neon_int_4,\ | |
586 | cortex_a15_neon_mul_ddd_8_16_qdd_16_8_long_32_16_long,\ | |
587 | cortex_a15_neon_mul_qqq_8_16_32_ddd_32,\ | |
588 | cortex_a15_neon_mla_ddd_8_16_qdd_16_8_long_32_16_long,\ | |
589 | cortex_a15_neon_mla_qqq_8_16,\ | |
590 | cortex_a15_neon_fp_vadd_ddd_vabs_dd,\ | |
591 | cortex_a15_neon_fp_vadd_qqq_vabs_qq,\ | |
592 | cortex_a15_neon_fp_vmla_ddd,\ | |
593 | cortex_a15_neon_fp_vmla_qqq,\ | |
594 | cortex_a15_neon_fp_vrecps_vrsqrts_ddd,\ | |
595 | cortex_a15_neon_fp_vrecps_vrsqrts_qqq") | |
596 | ||
597 | (define_bypass 11 "cortex_a15_neon_vld2_4_regs" | |
598 | "cortex_a15_neon_int_1,\ | |
599 | cortex_a15_neon_int_4,\ | |
600 | cortex_a15_neon_mul_ddd_8_16_qdd_16_8_long_32_16_long,\ | |
601 | cortex_a15_neon_mul_qqq_8_16_32_ddd_32,\ | |
602 | cortex_a15_neon_mla_ddd_8_16_qdd_16_8_long_32_16_long,\ | |
603 | cortex_a15_neon_mla_qqq_8_16,\ | |
604 | cortex_a15_neon_fp_vadd_ddd_vabs_dd,\ | |
605 | cortex_a15_neon_fp_vadd_qqq_vabs_qq,\ | |
606 | cortex_a15_neon_fp_vmla_ddd,\ | |
607 | cortex_a15_neon_fp_vmla_qqq,\ | |
608 | cortex_a15_neon_fp_vrecps_vrsqrts_ddd,\ | |
609 | cortex_a15_neon_fp_vrecps_vrsqrts_qqq") | |
610 | ||
611 | (define_bypass 8 "cortex_a15_neon_vld2_2_regs_vld1_vld2_all_lanes" | |
612 | "cortex_a15_neon_int_1,\ | |
613 | cortex_a15_neon_int_4,\ | |
614 | cortex_a15_neon_mul_ddd_8_16_qdd_16_8_long_32_16_long,\ | |
615 | cortex_a15_neon_mul_qqq_8_16_32_ddd_32,\ | |
616 | cortex_a15_neon_mla_ddd_8_16_qdd_16_8_long_32_16_long,\ | |
617 | cortex_a15_neon_mla_qqq_8_16,\ | |
618 | cortex_a15_neon_fp_vadd_ddd_vabs_dd,\ | |
619 | cortex_a15_neon_fp_vadd_qqq_vabs_qq,\ | |
620 | cortex_a15_neon_fp_vmla_ddd,\ | |
621 | cortex_a15_neon_fp_vmla_qqq,\ | |
622 | cortex_a15_neon_fp_vrecps_vrsqrts_ddd,\ | |
623 | cortex_a15_neon_fp_vrecps_vrsqrts_qqq") | |
624 | ||
625 | (define_bypass 7 "cortex_a15_neon_vld1_3_4_regs" | |
626 | "cortex_a15_neon_int_1,\ | |
627 | cortex_a15_neon_int_4,\ | |
628 | cortex_a15_neon_mul_ddd_8_16_qdd_16_8_long_32_16_long,\ | |
629 | cortex_a15_neon_mul_qqq_8_16_32_ddd_32,\ | |
630 | cortex_a15_neon_mla_ddd_8_16_qdd_16_8_long_32_16_long,\ | |
631 | cortex_a15_neon_mla_qqq_8_16,\ | |
632 | cortex_a15_neon_fp_vadd_ddd_vabs_dd,\ | |
633 | cortex_a15_neon_fp_vadd_qqq_vabs_qq,\ | |
634 | cortex_a15_neon_fp_vmla_ddd,\ | |
635 | cortex_a15_neon_fp_vmla_qqq,\ | |
636 | cortex_a15_neon_fp_vrecps_vrsqrts_ddd,\ | |
637 | cortex_a15_neon_fp_vrecps_vrsqrts_qqq") | |
638 | ||
639 | (define_bypass 6 "cortex_a15_neon_vld1_1_2_regs" | |
640 | "cortex_a15_neon_int_1,\ | |
641 | cortex_a15_neon_int_4,\ | |
642 | cortex_a15_neon_mul_ddd_8_16_qdd_16_8_long_32_16_long,\ | |
643 | cortex_a15_neon_mul_qqq_8_16_32_ddd_32,\ | |
644 | cortex_a15_neon_mla_ddd_8_16_qdd_16_8_long_32_16_long,\ | |
645 | cortex_a15_neon_mla_qqq_8_16,\ | |
646 | cortex_a15_neon_fp_vadd_ddd_vabs_dd,\ | |
647 | cortex_a15_neon_fp_vadd_qqq_vabs_qq,\ | |
648 | cortex_a15_neon_fp_vmla_ddd,\ | |
649 | cortex_a15_neon_fp_vmla_qqq,\ | |
650 | cortex_a15_neon_fp_vrecps_vrsqrts_ddd,\ | |
651 | cortex_a15_neon_fp_vrecps_vrsqrts_qqq") | |
652 | ||
653 | (define_bypass 6 "cortex_a15_neon_bp_3cycle" | |
654 | "cortex_a15_neon_int_1,\ | |
655 | cortex_a15_neon_int_4,\ | |
656 | cortex_a15_neon_mul_ddd_8_16_qdd_16_8_long_32_16_long,\ | |
657 | cortex_a15_neon_mul_qqq_8_16_32_ddd_32,\ | |
658 | cortex_a15_neon_mla_ddd_8_16_qdd_16_8_long_32_16_long,\ | |
659 | cortex_a15_neon_mla_qqq_8_16,\ | |
660 | cortex_a15_neon_fp_vadd_ddd_vabs_dd,\ | |
661 | cortex_a15_neon_fp_vadd_qqq_vabs_qq,\ | |
662 | cortex_a15_neon_fp_vmla_ddd,\ | |
663 | cortex_a15_neon_fp_vmla_qqq,\ | |
664 | cortex_a15_neon_fp_vrecps_vrsqrts_ddd,\ | |
665 | cortex_a15_neon_fp_vrecps_vrsqrts_qqq") | |
666 | ||
667 | (define_bypass 3 "cortex_a15_neon_bp_2cycle" | |
668 | "cortex_a15_neon_int_1,\ | |
669 | cortex_a15_neon_int_4,\ | |
670 | cortex_a15_neon_mul_ddd_8_16_qdd_16_8_long_32_16_long,\ | |
671 | cortex_a15_neon_mul_qqq_8_16_32_ddd_32,\ | |
672 | cortex_a15_neon_mla_ddd_8_16_qdd_16_8_long_32_16_long,\ | |
673 | cortex_a15_neon_mla_qqq_8_16,\ | |
674 | cortex_a15_neon_fp_vadd_ddd_vabs_dd,\ | |
675 | cortex_a15_neon_fp_vadd_qqq_vabs_qq,\ | |
676 | cortex_a15_neon_fp_vmla_ddd,\ | |
677 | cortex_a15_neon_fp_vmla_qqq,\ | |
678 | cortex_a15_neon_fp_vrecps_vrsqrts_ddd,\ | |
679 | cortex_a15_neon_fp_vrecps_vrsqrts_qqq") | |
680 | ||
681 | (define_bypass 3 "cortex_a15_neon_bp_simple" | |
682 | "cortex_a15_neon_int_1,\ | |
683 | cortex_a15_neon_int_4,\ | |
684 | cortex_a15_neon_mul_ddd_8_16_qdd_16_8_long_32_16_long,\ | |
685 | cortex_a15_neon_mul_qqq_8_16_32_ddd_32,\ | |
686 | cortex_a15_neon_mla_ddd_8_16_qdd_16_8_long_32_16_long,\ | |
687 | cortex_a15_neon_mla_qqq_8_16,\ | |
688 | cortex_a15_neon_fp_vadd_ddd_vabs_dd,\ | |
689 | cortex_a15_neon_fp_vadd_qqq_vabs_qq,\ | |
690 | cortex_a15_neon_fp_vmla_ddd,\ | |
691 | cortex_a15_neon_fp_vmla_qqq,\ | |
692 | cortex_a15_neon_fp_vrecps_vrsqrts_ddd,\ | |
693 | cortex_a15_neon_fp_vrecps_vrsqrts_qqq") | |
694 | ||
695 | (define_bypass 10 "cortex_a15_neon_fp_vrecps_vrsqrts_qqq" | |
696 | "cortex_a15_neon_int_1,\ | |
697 | cortex_a15_neon_int_4,\ | |
698 | cortex_a15_neon_mul_ddd_8_16_qdd_16_8_long_32_16_long,\ | |
699 | cortex_a15_neon_mul_qqq_8_16_32_ddd_32,\ | |
700 | cortex_a15_neon_mla_ddd_8_16_qdd_16_8_long_32_16_long,\ | |
701 | cortex_a15_neon_mla_qqq_8_16,\ | |
702 | cortex_a15_neon_fp_vadd_ddd_vabs_dd,\ | |
703 | cortex_a15_neon_fp_vadd_qqq_vabs_qq,\ | |
704 | cortex_a15_neon_fp_vmla_ddd,\ | |
705 | cortex_a15_neon_fp_vmla_qqq,\ | |
706 | cortex_a15_neon_fp_vrecps_vrsqrts_ddd,\ | |
707 | cortex_a15_neon_fp_vrecps_vrsqrts_qqq") | |
708 | ||
709 | (define_bypass 8 "cortex_a15_neon_fp_vrecps_vrsqrts_ddd" | |
710 | "cortex_a15_neon_int_1,\ | |
711 | cortex_a15_neon_int_4,\ | |
712 | cortex_a15_neon_mul_ddd_8_16_qdd_16_8_long_32_16_long,\ | |
713 | cortex_a15_neon_mul_qqq_8_16_32_ddd_32,\ | |
714 | cortex_a15_neon_mla_ddd_8_16_qdd_16_8_long_32_16_long,\ | |
715 | cortex_a15_neon_mla_qqq_8_16,\ | |
716 | cortex_a15_neon_fp_vadd_ddd_vabs_dd,\ | |
717 | cortex_a15_neon_fp_vadd_qqq_vabs_qq,\ | |
718 | cortex_a15_neon_fp_vmla_ddd,\ | |
719 | cortex_a15_neon_fp_vmla_qqq,\ | |
720 | cortex_a15_neon_fp_vrecps_vrsqrts_ddd,\ | |
721 | cortex_a15_neon_fp_vrecps_vrsqrts_qqq") | |
722 | ||
723 | (define_bypass 10 "cortex_a15_neon_fp_vmla_qqq_scalar" | |
724 | "cortex_a15_neon_int_1,\ | |
725 | cortex_a15_neon_int_4,\ | |
726 | cortex_a15_neon_mul_ddd_8_16_qdd_16_8_long_32_16_long,\ | |
727 | cortex_a15_neon_mul_qqq_8_16_32_ddd_32,\ | |
728 | cortex_a15_neon_mla_ddd_8_16_qdd_16_8_long_32_16_long,\ | |
729 | cortex_a15_neon_mla_qqq_8_16,\ | |
730 | cortex_a15_neon_fp_vadd_ddd_vabs_dd,\ | |
731 | cortex_a15_neon_fp_vadd_qqq_vabs_qq,\ | |
732 | cortex_a15_neon_fp_vmla_ddd,\ | |
733 | cortex_a15_neon_fp_vmla_qqq,\ | |
734 | cortex_a15_neon_fp_vrecps_vrsqrts_ddd,\ | |
735 | cortex_a15_neon_fp_vrecps_vrsqrts_qqq") | |
736 | ||
737 | (define_bypass 8 "cortex_a15_neon_fp_vmla_ddd_scalar" | |
738 | "cortex_a15_neon_int_1,\ | |
739 | cortex_a15_neon_int_4,\ | |
740 | cortex_a15_neon_mul_ddd_8_16_qdd_16_8_long_32_16_long,\ | |
741 | cortex_a15_neon_mul_qqq_8_16_32_ddd_32,\ | |
742 | cortex_a15_neon_mla_ddd_8_16_qdd_16_8_long_32_16_long,\ | |
743 | cortex_a15_neon_mla_qqq_8_16,\ | |
744 | cortex_a15_neon_fp_vadd_ddd_vabs_dd,\ | |
745 | cortex_a15_neon_fp_vadd_qqq_vabs_qq,\ | |
746 | cortex_a15_neon_fp_vmla_ddd,\ | |
747 | cortex_a15_neon_fp_vmla_qqq,\ | |
748 | cortex_a15_neon_fp_vrecps_vrsqrts_ddd,\ | |
749 | cortex_a15_neon_fp_vrecps_vrsqrts_qqq") | |
750 | ||
751 | (define_bypass 10 "cortex_a15_neon_fp_vmla_qqq" | |
752 | "cortex_a15_neon_int_1,\ | |
753 | cortex_a15_neon_int_4,\ | |
754 | cortex_a15_neon_mul_ddd_8_16_qdd_16_8_long_32_16_long,\ | |
755 | cortex_a15_neon_mul_qqq_8_16_32_ddd_32,\ | |
756 | cortex_a15_neon_mla_ddd_8_16_qdd_16_8_long_32_16_long,\ | |
757 | cortex_a15_neon_mla_qqq_8_16,\ | |
758 | cortex_a15_neon_fp_vadd_ddd_vabs_dd,\ | |
759 | cortex_a15_neon_fp_vadd_qqq_vabs_qq,\ | |
760 | cortex_a15_neon_fp_vmla_ddd,\ | |
761 | cortex_a15_neon_fp_vmla_qqq,\ | |
762 | cortex_a15_neon_fp_vrecps_vrsqrts_ddd,\ | |
763 | cortex_a15_neon_fp_vrecps_vrsqrts_qqq") | |
764 | ||
765 | (define_bypass 8 "cortex_a15_neon_fp_vmla_ddd" | |
766 | "cortex_a15_neon_int_1,\ | |
767 | cortex_a15_neon_int_4,\ | |
768 | cortex_a15_neon_mul_ddd_8_16_qdd_16_8_long_32_16_long,\ | |
769 | cortex_a15_neon_mul_qqq_8_16_32_ddd_32,\ | |
770 | cortex_a15_neon_mla_ddd_8_16_qdd_16_8_long_32_16_long,\ | |
771 | cortex_a15_neon_mla_qqq_8_16,\ | |
772 | cortex_a15_neon_fp_vadd_ddd_vabs_dd,\ | |
773 | cortex_a15_neon_fp_vadd_qqq_vabs_qq,\ | |
774 | cortex_a15_neon_fp_vmla_ddd,\ | |
775 | cortex_a15_neon_fp_vmla_qqq,\ | |
776 | cortex_a15_neon_fp_vrecps_vrsqrts_ddd,\ | |
777 | cortex_a15_neon_fp_vrecps_vrsqrts_qqq") | |
778 | ||
779 | (define_bypass 5 "cortex_a15_neon_fp_vmul_qqd" | |
780 | "cortex_a15_neon_int_1,\ | |
781 | cortex_a15_neon_int_4,\ | |
782 | cortex_a15_neon_mul_ddd_8_16_qdd_16_8_long_32_16_long,\ | |
783 | cortex_a15_neon_mul_qqq_8_16_32_ddd_32,\ | |
784 | cortex_a15_neon_mla_ddd_8_16_qdd_16_8_long_32_16_long,\ | |
785 | cortex_a15_neon_mla_qqq_8_16,\ | |
786 | cortex_a15_neon_fp_vadd_ddd_vabs_dd,\ | |
787 | cortex_a15_neon_fp_vadd_qqq_vabs_qq,\ | |
788 | cortex_a15_neon_fp_vmla_ddd,\ | |
789 | cortex_a15_neon_fp_vmla_qqq,\ | |
790 | cortex_a15_neon_fp_vrecps_vrsqrts_ddd,\ | |
791 | cortex_a15_neon_fp_vrecps_vrsqrts_qqq") | |
792 | ||
793 | (define_bypass 4 "cortex_a15_neon_fp_vmul_ddd" | |
794 | "cortex_a15_neon_int_1,\ | |
795 | cortex_a15_neon_int_4,\ | |
796 | cortex_a15_neon_mul_ddd_8_16_qdd_16_8_long_32_16_long,\ | |
797 | cortex_a15_neon_mul_qqq_8_16_32_ddd_32,\ | |
798 | cortex_a15_neon_mla_ddd_8_16_qdd_16_8_long_32_16_long,\ | |
799 | cortex_a15_neon_mla_qqq_8_16,\ | |
800 | cortex_a15_neon_fp_vadd_ddd_vabs_dd,\ | |
801 | cortex_a15_neon_fp_vadd_qqq_vabs_qq,\ | |
802 | cortex_a15_neon_fp_vmla_ddd,\ | |
803 | cortex_a15_neon_fp_vmla_qqq,\ | |
804 | cortex_a15_neon_fp_vrecps_vrsqrts_ddd,\ | |
805 | cortex_a15_neon_fp_vrecps_vrsqrts_qqq") | |
806 | ||
807 | (define_bypass 6 "cortex_a15_neon_fp_vadd_qqq_vabs_qq" | |
808 | "cortex_a15_neon_int_1,\ | |
809 | cortex_a15_neon_int_4,\ | |
810 | cortex_a15_neon_mul_ddd_8_16_qdd_16_8_long_32_16_long,\ | |
811 | cortex_a15_neon_mul_qqq_8_16_32_ddd_32,\ | |
812 | cortex_a15_neon_mla_ddd_8_16_qdd_16_8_long_32_16_long,\ | |
813 | cortex_a15_neon_mla_qqq_8_16,\ | |
814 | cortex_a15_neon_fp_vadd_ddd_vabs_dd,\ | |
815 | cortex_a15_neon_fp_vadd_qqq_vabs_qq,\ | |
816 | cortex_a15_neon_fp_vmla_ddd,\ | |
817 | cortex_a15_neon_fp_vmla_qqq,\ | |
818 | cortex_a15_neon_fp_vrecps_vrsqrts_ddd,\ | |
819 | cortex_a15_neon_fp_vrecps_vrsqrts_qqq") | |
820 | ||
821 | (define_bypass 5 "cortex_a15_neon_fp_vadd_ddd_vabs_dd" | |
822 | "cortex_a15_neon_int_1,\ | |
823 | cortex_a15_neon_int_4,\ | |
824 | cortex_a15_neon_mul_ddd_8_16_qdd_16_8_long_32_16_long,\ | |
825 | cortex_a15_neon_mul_qqq_8_16_32_ddd_32,\ | |
826 | cortex_a15_neon_mla_ddd_8_16_qdd_16_8_long_32_16_long,\ | |
827 | cortex_a15_neon_mla_qqq_8_16,\ | |
828 | cortex_a15_neon_fp_vadd_ddd_vabs_dd,\ | |
829 | cortex_a15_neon_fp_vadd_qqq_vabs_qq,\ | |
830 | cortex_a15_neon_fp_vmla_ddd,\ | |
831 | cortex_a15_neon_fp_vmla_qqq,\ | |
832 | cortex_a15_neon_fp_vrecps_vrsqrts_ddd,\ | |
833 | cortex_a15_neon_fp_vrecps_vrsqrts_qqq") | |
834 | ||
835 | (define_bypass 6 "cortex_a15_neon_vsra_vrsra" | |
836 | "cortex_a15_neon_int_1,\ | |
837 | cortex_a15_neon_int_4,\ | |
838 | cortex_a15_neon_mul_ddd_8_16_qdd_16_8_long_32_16_long,\ | |
839 | cortex_a15_neon_mul_qqq_8_16_32_ddd_32,\ | |
840 | cortex_a15_neon_mla_ddd_8_16_qdd_16_8_long_32_16_long,\ | |
841 | cortex_a15_neon_mla_qqq_8_16,\ | |
842 | cortex_a15_neon_fp_vadd_ddd_vabs_dd,\ | |
843 | cortex_a15_neon_fp_vadd_qqq_vabs_qq,\ | |
844 | cortex_a15_neon_fp_vmla_ddd,\ | |
845 | cortex_a15_neon_fp_vmla_qqq,\ | |
846 | cortex_a15_neon_fp_vrecps_vrsqrts_ddd,\ | |
847 | cortex_a15_neon_fp_vrecps_vrsqrts_qqq") | |
848 | ||
849 | (define_bypass 5 "cortex_a15_neon_vqshl_vrshl_vqrshl_qqq" | |
850 | "cortex_a15_neon_int_1,\ | |
851 | cortex_a15_neon_int_4,\ | |
852 | cortex_a15_neon_mul_ddd_8_16_qdd_16_8_long_32_16_long,\ | |
853 | cortex_a15_neon_mul_qqq_8_16_32_ddd_32,\ | |
854 | cortex_a15_neon_mla_ddd_8_16_qdd_16_8_long_32_16_long,\ | |
855 | cortex_a15_neon_mla_qqq_8_16,\ | |
856 | cortex_a15_neon_fp_vadd_ddd_vabs_dd,\ | |
857 | cortex_a15_neon_fp_vadd_qqq_vabs_qq,\ | |
858 | cortex_a15_neon_fp_vmla_ddd,\ | |
859 | cortex_a15_neon_fp_vmla_qqq,\ | |
860 | cortex_a15_neon_fp_vrecps_vrsqrts_ddd,\ | |
861 | cortex_a15_neon_fp_vrecps_vrsqrts_qqq") | |
862 | ||
863 | (define_bypass 4 "cortex_a15_neon_vshl_ddd" | |
864 | "cortex_a15_neon_int_1,\ | |
865 | cortex_a15_neon_int_4,\ | |
866 | cortex_a15_neon_mul_ddd_8_16_qdd_16_8_long_32_16_long,\ | |
867 | cortex_a15_neon_mul_qqq_8_16_32_ddd_32,\ | |
868 | cortex_a15_neon_mla_ddd_8_16_qdd_16_8_long_32_16_long,\ | |
869 | cortex_a15_neon_mla_qqq_8_16,\ | |
870 | cortex_a15_neon_fp_vadd_ddd_vabs_dd,\ | |
871 | cortex_a15_neon_fp_vadd_qqq_vabs_qq,\ | |
872 | cortex_a15_neon_fp_vmla_ddd,\ | |
873 | cortex_a15_neon_fp_vmla_qqq,\ | |
874 | cortex_a15_neon_fp_vrecps_vrsqrts_ddd,\ | |
875 | cortex_a15_neon_fp_vrecps_vrsqrts_qqq") | |
876 | ||
877 | (define_bypass 5 "cortex_a15_neon_shift_3" | |
878 | "cortex_a15_neon_int_1,\ | |
879 | cortex_a15_neon_int_4,\ | |
880 | cortex_a15_neon_mul_ddd_8_16_qdd_16_8_long_32_16_long,\ | |
881 | cortex_a15_neon_mul_qqq_8_16_32_ddd_32,\ | |
882 | cortex_a15_neon_mla_ddd_8_16_qdd_16_8_long_32_16_long,\ | |
883 | cortex_a15_neon_mla_qqq_8_16,\ | |
884 | cortex_a15_neon_fp_vadd_ddd_vabs_dd,\ | |
885 | cortex_a15_neon_fp_vadd_qqq_vabs_qq,\ | |
886 | cortex_a15_neon_fp_vmla_ddd,\ | |
887 | cortex_a15_neon_fp_vmla_qqq,\ | |
888 | cortex_a15_neon_fp_vrecps_vrsqrts_ddd,\ | |
889 | cortex_a15_neon_fp_vrecps_vrsqrts_qqq") | |
890 | ||
891 | (define_bypass 4 "cortex_a15_neon_shift_2" | |
892 | "cortex_a15_neon_int_1,\ | |
893 | cortex_a15_neon_int_4,\ | |
894 | cortex_a15_neon_mul_ddd_8_16_qdd_16_8_long_32_16_long,\ | |
895 | cortex_a15_neon_mul_qqq_8_16_32_ddd_32,\ | |
896 | cortex_a15_neon_mla_ddd_8_16_qdd_16_8_long_32_16_long,\ | |
897 | cortex_a15_neon_mla_qqq_8_16,\ | |
898 | cortex_a15_neon_fp_vadd_ddd_vabs_dd,\ | |
899 | cortex_a15_neon_fp_vadd_qqq_vabs_qq,\ | |
900 | cortex_a15_neon_fp_vmla_ddd,\ | |
901 | cortex_a15_neon_fp_vmla_qqq,\ | |
902 | cortex_a15_neon_fp_vrecps_vrsqrts_ddd,\ | |
903 | cortex_a15_neon_fp_vrecps_vrsqrts_qqq") | |
904 | ||
905 | (define_bypass 4 "cortex_a15_neon_shift_1" | |
906 | "cortex_a15_neon_int_1,\ | |
907 | cortex_a15_neon_int_4,\ | |
908 | cortex_a15_neon_mul_ddd_8_16_qdd_16_8_long_32_16_long,\ | |
909 | cortex_a15_neon_mul_qqq_8_16_32_ddd_32,\ | |
910 | cortex_a15_neon_mla_ddd_8_16_qdd_16_8_long_32_16_long,\ | |
911 | cortex_a15_neon_mla_qqq_8_16,\ | |
912 | cortex_a15_neon_fp_vadd_ddd_vabs_dd,\ | |
913 | cortex_a15_neon_fp_vadd_qqq_vabs_qq,\ | |
914 | cortex_a15_neon_fp_vmla_ddd,\ | |
915 | cortex_a15_neon_fp_vmla_qqq,\ | |
916 | cortex_a15_neon_fp_vrecps_vrsqrts_ddd,\ | |
917 | cortex_a15_neon_fp_vrecps_vrsqrts_qqq") | |
918 | ||
919 | (define_bypass 5 "cortex_a15_neon_mla_ddd_16_scalar_qdd_32_16_long_scalar" | |
920 | "cortex_a15_neon_int_1,\ | |
921 | cortex_a15_neon_int_4,\ | |
922 | cortex_a15_neon_mul_ddd_8_16_qdd_16_8_long_32_16_long,\ | |
923 | cortex_a15_neon_mul_qqq_8_16_32_ddd_32,\ | |
924 | cortex_a15_neon_mla_ddd_8_16_qdd_16_8_long_32_16_long,\ | |
925 | cortex_a15_neon_mla_qqq_8_16,\ | |
926 | cortex_a15_neon_fp_vadd_ddd_vabs_dd,\ | |
927 | cortex_a15_neon_fp_vadd_qqq_vabs_qq,\ | |
928 | cortex_a15_neon_fp_vmla_ddd,\ | |
929 | cortex_a15_neon_fp_vmla_qqq,\ | |
930 | cortex_a15_neon_fp_vrecps_vrsqrts_ddd,\ | |
931 | cortex_a15_neon_fp_vrecps_vrsqrts_qqq") | |
932 | ||
933 | (define_bypass 6 "cortex_a15_neon_mul_qqd_32_scalar" | |
934 | "cortex_a15_neon_int_1,\ | |
935 | cortex_a15_neon_int_4,\ | |
936 | cortex_a15_neon_mul_ddd_8_16_qdd_16_8_long_32_16_long,\ | |
937 | cortex_a15_neon_mul_qqq_8_16_32_ddd_32,\ | |
938 | cortex_a15_neon_mla_ddd_8_16_qdd_16_8_long_32_16_long,\ | |
939 | cortex_a15_neon_mla_qqq_8_16,\ | |
940 | cortex_a15_neon_fp_vadd_ddd_vabs_dd,\ | |
941 | cortex_a15_neon_fp_vadd_qqq_vabs_qq,\ | |
942 | cortex_a15_neon_fp_vmla_ddd,\ | |
943 | cortex_a15_neon_fp_vmla_qqq,\ | |
944 | cortex_a15_neon_fp_vrecps_vrsqrts_ddd,\ | |
945 | cortex_a15_neon_fp_vrecps_vrsqrts_qqq") | |
946 | ||
947 | (define_bypass 5 "cortex_a15_neon_mul_ddd_16_scalar_32_16_long_scalar" | |
948 | "cortex_a15_neon_int_1,\ | |
949 | cortex_a15_neon_int_4,\ | |
950 | cortex_a15_neon_mul_ddd_8_16_qdd_16_8_long_32_16_long,\ | |
951 | cortex_a15_neon_mul_qqq_8_16_32_ddd_32,\ | |
952 | cortex_a15_neon_mla_ddd_8_16_qdd_16_8_long_32_16_long,\ | |
953 | cortex_a15_neon_mla_qqq_8_16,\ | |
954 | cortex_a15_neon_fp_vadd_ddd_vabs_dd,\ | |
955 | cortex_a15_neon_fp_vadd_qqq_vabs_qq,\ | |
956 | cortex_a15_neon_fp_vmla_ddd,\ | |
957 | cortex_a15_neon_fp_vmla_qqq,\ | |
958 | cortex_a15_neon_fp_vrecps_vrsqrts_ddd,\ | |
959 | cortex_a15_neon_fp_vrecps_vrsqrts_qqq") | |
960 | ||
961 | (define_bypass 6 "cortex_a15_neon_mla_qqq_32_qqd_32_scalar" | |
962 | "cortex_a15_neon_int_1,\ | |
963 | cortex_a15_neon_int_4,\ | |
964 | cortex_a15_neon_mul_ddd_8_16_qdd_16_8_long_32_16_long,\ | |
965 | cortex_a15_neon_mul_qqq_8_16_32_ddd_32,\ | |
966 | cortex_a15_neon_mla_ddd_8_16_qdd_16_8_long_32_16_long,\ | |
967 | cortex_a15_neon_mla_qqq_8_16,\ | |
968 | cortex_a15_neon_fp_vadd_ddd_vabs_dd,\ | |
969 | cortex_a15_neon_fp_vadd_qqq_vabs_qq,\ | |
970 | cortex_a15_neon_fp_vmla_ddd,\ | |
971 | cortex_a15_neon_fp_vmla_qqq,\ | |
972 | cortex_a15_neon_fp_vrecps_vrsqrts_ddd,\ | |
973 | cortex_a15_neon_fp_vrecps_vrsqrts_qqq") | |
974 | ||
975 | (define_bypass 6 "cortex_a15_neon_mla_qqq_8_16" | |
976 | "cortex_a15_neon_int_1,\ | |
977 | cortex_a15_neon_int_4,\ | |
978 | cortex_a15_neon_mul_ddd_8_16_qdd_16_8_long_32_16_long,\ | |
979 | cortex_a15_neon_mul_qqq_8_16_32_ddd_32,\ | |
980 | cortex_a15_neon_mla_ddd_8_16_qdd_16_8_long_32_16_long,\ | |
981 | cortex_a15_neon_mla_qqq_8_16,\ | |
982 | cortex_a15_neon_fp_vadd_ddd_vabs_dd,\ | |
983 | cortex_a15_neon_fp_vadd_qqq_vabs_qq,\ | |
984 | cortex_a15_neon_fp_vmla_ddd,\ | |
985 | cortex_a15_neon_fp_vmla_qqq,\ | |
986 | cortex_a15_neon_fp_vrecps_vrsqrts_ddd,\ | |
987 | cortex_a15_neon_fp_vrecps_vrsqrts_qqq") | |
988 | ||
989 | (define_bypass 5 "cortex_a15_neon_mla_ddd_8_16_qdd_16_8_long_32_16_long" | |
990 | "cortex_a15_neon_int_1,\ | |
991 | cortex_a15_neon_int_4,\ | |
992 | cortex_a15_neon_mul_ddd_8_16_qdd_16_8_long_32_16_long,\ | |
993 | cortex_a15_neon_mul_qqq_8_16_32_ddd_32,\ | |
994 | cortex_a15_neon_mla_ddd_8_16_qdd_16_8_long_32_16_long,\ | |
995 | cortex_a15_neon_mla_qqq_8_16,\ | |
996 | cortex_a15_neon_fp_vadd_ddd_vabs_dd,\ | |
997 | cortex_a15_neon_fp_vadd_qqq_vabs_qq,\ | |
998 | cortex_a15_neon_fp_vmla_ddd,\ | |
999 | cortex_a15_neon_fp_vmla_qqq,\ | |
1000 | cortex_a15_neon_fp_vrecps_vrsqrts_ddd,\ | |
1001 | cortex_a15_neon_fp_vrecps_vrsqrts_qqq") | |
1002 | ||
1003 | (define_bypass 6 | |
1004 | "cortex_a15_neon_mul_qdd_64_32_long_qqd_16_ddd_32_scalar_64_32_long_scalar" | |
1005 | "cortex_a15_neon_int_1,\ | |
1006 | cortex_a15_neon_int_4,\ | |
1007 | cortex_a15_neon_mul_ddd_8_16_qdd_16_8_long_32_16_long,\ | |
1008 | cortex_a15_neon_mul_qqq_8_16_32_ddd_32,\ | |
1009 | cortex_a15_neon_mla_ddd_8_16_qdd_16_8_long_32_16_long,\ | |
1010 | cortex_a15_neon_mla_qqq_8_16,\ | |
1011 | cortex_a15_neon_fp_vadd_ddd_vabs_dd,\ | |
1012 | cortex_a15_neon_fp_vadd_qqq_vabs_qq,\ | |
1013 | cortex_a15_neon_fp_vmla_ddd,\ | |
1014 | cortex_a15_neon_fp_vmla_qqq,\ | |
1015 | cortex_a15_neon_fp_vrecps_vrsqrts_ddd,\ | |
1016 | cortex_a15_neon_fp_vrecps_vrsqrts_qqq") | |
1017 | ||
1018 | (define_bypass 6 "cortex_a15_neon_mul_qqq_8_16_32_ddd_32" | |
1019 | "cortex_a15_neon_int_1,\ | |
1020 | cortex_a15_neon_int_4,\ | |
1021 | cortex_a15_neon_mul_ddd_8_16_qdd_16_8_long_32_16_long,\ | |
1022 | cortex_a15_neon_mul_qqq_8_16_32_ddd_32,\ | |
1023 | cortex_a15_neon_mla_ddd_8_16_qdd_16_8_long_32_16_long,\ | |
1024 | cortex_a15_neon_mla_qqq_8_16,\ | |
1025 | cortex_a15_neon_fp_vadd_ddd_vabs_dd,\ | |
1026 | cortex_a15_neon_fp_vadd_qqq_vabs_qq,\ | |
1027 | cortex_a15_neon_fp_vmla_ddd,\ | |
1028 | cortex_a15_neon_fp_vmla_qqq,\ | |
1029 | cortex_a15_neon_fp_vrecps_vrsqrts_ddd,\ | |
1030 | cortex_a15_neon_fp_vrecps_vrsqrts_qqq") | |
1031 | ||
1032 | (define_bypass 5 "cortex_a15_neon_mul_ddd_8_16_qdd_16_8_long_32_16_long" | |
1033 | "cortex_a15_neon_int_1,\ | |
1034 | cortex_a15_neon_int_4,\ | |
1035 | cortex_a15_neon_mul_ddd_8_16_qdd_16_8_long_32_16_long,\ | |
1036 | cortex_a15_neon_mul_qqq_8_16_32_ddd_32,\ | |
1037 | cortex_a15_neon_mla_ddd_8_16_qdd_16_8_long_32_16_long,\ | |
1038 | cortex_a15_neon_mla_qqq_8_16,\ | |
1039 | cortex_a15_neon_fp_vadd_ddd_vabs_dd,\ | |
1040 | cortex_a15_neon_fp_vadd_qqq_vabs_qq,\ | |
1041 | cortex_a15_neon_fp_vmla_ddd,\ | |
1042 | cortex_a15_neon_fp_vmla_qqq,\ | |
1043 | cortex_a15_neon_fp_vrecps_vrsqrts_ddd,\ | |
1044 | cortex_a15_neon_fp_vrecps_vrsqrts_qqq") | |
1045 | ||
1046 | (define_bypass 7 "cortex_a15_neon_vaba_qqq" | |
1047 | "cortex_a15_neon_int_1,\ | |
1048 | cortex_a15_neon_int_4,\ | |
1049 | cortex_a15_neon_mul_ddd_8_16_qdd_16_8_long_32_16_long,\ | |
1050 | cortex_a15_neon_mul_qqq_8_16_32_ddd_32,\ | |
1051 | cortex_a15_neon_mla_ddd_8_16_qdd_16_8_long_32_16_long,\ | |
1052 | cortex_a15_neon_mla_qqq_8_16,\ | |
1053 | cortex_a15_neon_fp_vadd_ddd_vabs_dd,\ | |
1054 | cortex_a15_neon_fp_vadd_qqq_vabs_qq,\ | |
1055 | cortex_a15_neon_fp_vmla_ddd,\ | |
1056 | cortex_a15_neon_fp_vmla_qqq,\ | |
1057 | cortex_a15_neon_fp_vrecps_vrsqrts_ddd,\ | |
1058 | cortex_a15_neon_fp_vrecps_vrsqrts_qqq") | |
1059 | ||
1060 | (define_bypass 6 "cortex_a15_neon_vaba" | |
1061 | "cortex_a15_neon_int_1,\ | |
1062 | cortex_a15_neon_int_4,\ | |
1063 | cortex_a15_neon_mul_ddd_8_16_qdd_16_8_long_32_16_long,\ | |
1064 | cortex_a15_neon_mul_qqq_8_16_32_ddd_32,\ | |
1065 | cortex_a15_neon_mla_ddd_8_16_qdd_16_8_long_32_16_long,\ | |
1066 | cortex_a15_neon_mla_qqq_8_16,\ | |
1067 | cortex_a15_neon_fp_vadd_ddd_vabs_dd,\ | |
1068 | cortex_a15_neon_fp_vadd_qqq_vabs_qq,\ | |
1069 | cortex_a15_neon_fp_vmla_ddd,\ | |
1070 | cortex_a15_neon_fp_vmla_qqq,\ | |
1071 | cortex_a15_neon_fp_vrecps_vrsqrts_ddd,\ | |
1072 | cortex_a15_neon_fp_vrecps_vrsqrts_qqq") | |
1073 | ||
1074 | (define_bypass 4 "cortex_a15_neon_vmov" | |
1075 | "cortex_a15_neon_int_1,\ | |
1076 | cortex_a15_neon_int_4,\ | |
1077 | cortex_a15_neon_mul_ddd_8_16_qdd_16_8_long_32_16_long,\ | |
1078 | cortex_a15_neon_mul_qqq_8_16_32_ddd_32,\ | |
1079 | cortex_a15_neon_mla_ddd_8_16_qdd_16_8_long_32_16_long,\ | |
1080 | cortex_a15_neon_mla_qqq_8_16,\ | |
1081 | cortex_a15_neon_fp_vadd_ddd_vabs_dd,\ | |
1082 | cortex_a15_neon_fp_vadd_qqq_vabs_qq,\ | |
1083 | cortex_a15_neon_fp_vmla_ddd,\ | |
1084 | cortex_a15_neon_fp_vmla_qqq,\ | |
1085 | cortex_a15_neon_fp_vrecps_vrsqrts_ddd,\ | |
1086 | cortex_a15_neon_fp_vrecps_vrsqrts_qqq") | |
1087 | ||
1088 | (define_bypass 4 "cortex_a15_neon_vqneg_vqabs" | |
1089 | "cortex_a15_neon_int_1,\ | |
1090 | cortex_a15_neon_int_4,\ | |
1091 | cortex_a15_neon_mul_ddd_8_16_qdd_16_8_long_32_16_long,\ | |
1092 | cortex_a15_neon_mul_qqq_8_16_32_ddd_32,\ | |
1093 | cortex_a15_neon_mla_ddd_8_16_qdd_16_8_long_32_16_long,\ | |
1094 | cortex_a15_neon_mla_qqq_8_16,\ | |
1095 | cortex_a15_neon_fp_vadd_ddd_vabs_dd,\ | |
1096 | cortex_a15_neon_fp_vadd_qqq_vabs_qq,\ | |
1097 | cortex_a15_neon_fp_vmla_ddd,\ | |
1098 | cortex_a15_neon_fp_vmla_qqq,\ | |
1099 | cortex_a15_neon_fp_vrecps_vrsqrts_ddd,\ | |
1100 | cortex_a15_neon_fp_vrecps_vrsqrts_qqq") | |
1101 | ||
1102 | (define_bypass 4 "cortex_a15_neon_int_5" | |
1103 | "cortex_a15_neon_int_1,\ | |
1104 | cortex_a15_neon_int_4,\ | |
1105 | cortex_a15_neon_mul_ddd_8_16_qdd_16_8_long_32_16_long,\ | |
1106 | cortex_a15_neon_mul_qqq_8_16_32_ddd_32,\ | |
1107 | cortex_a15_neon_mla_ddd_8_16_qdd_16_8_long_32_16_long,\ | |
1108 | cortex_a15_neon_mla_qqq_8_16,\ | |
1109 | cortex_a15_neon_fp_vadd_ddd_vabs_dd,\ | |
1110 | cortex_a15_neon_fp_vadd_qqq_vabs_qq,\ | |
1111 | cortex_a15_neon_fp_vmla_ddd,\ | |
1112 | cortex_a15_neon_fp_vmla_qqq,\ | |
1113 | cortex_a15_neon_fp_vrecps_vrsqrts_ddd,\ | |
1114 | cortex_a15_neon_fp_vrecps_vrsqrts_qqq") | |
1115 | ||
1116 | (define_bypass 4 "cortex_a15_neon_int_4" | |
1117 | "cortex_a15_neon_int_1,\ | |
1118 | cortex_a15_neon_int_4,\ | |
1119 | cortex_a15_neon_mul_ddd_8_16_qdd_16_8_long_32_16_long,\ | |
1120 | cortex_a15_neon_mul_qqq_8_16_32_ddd_32,\ | |
1121 | cortex_a15_neon_mla_ddd_8_16_qdd_16_8_long_32_16_long,\ | |
1122 | cortex_a15_neon_mla_qqq_8_16,\ | |
1123 | cortex_a15_neon_fp_vadd_ddd_vabs_dd,\ | |
1124 | cortex_a15_neon_fp_vadd_qqq_vabs_qq,\ | |
1125 | cortex_a15_neon_fp_vmla_ddd,\ | |
1126 | cortex_a15_neon_fp_vmla_qqq,\ | |
1127 | cortex_a15_neon_fp_vrecps_vrsqrts_ddd,\ | |
1128 | cortex_a15_neon_fp_vrecps_vrsqrts_qqq") | |
1129 | ||
1130 | (define_bypass 4 "cortex_a15_neon_int_3" | |
1131 | "cortex_a15_neon_int_1,\ | |
1132 | cortex_a15_neon_int_4,\ | |
1133 | cortex_a15_neon_mul_ddd_8_16_qdd_16_8_long_32_16_long,\ | |
1134 | cortex_a15_neon_mul_qqq_8_16_32_ddd_32,\ | |
1135 | cortex_a15_neon_mla_ddd_8_16_qdd_16_8_long_32_16_long,\ | |
1136 | cortex_a15_neon_mla_qqq_8_16,\ | |
1137 | cortex_a15_neon_fp_vadd_ddd_vabs_dd,\ | |
1138 | cortex_a15_neon_fp_vadd_qqq_vabs_qq,\ | |
1139 | cortex_a15_neon_fp_vmla_ddd,\ | |
1140 | cortex_a15_neon_fp_vmla_qqq,\ | |
1141 | cortex_a15_neon_fp_vrecps_vrsqrts_ddd,\ | |
1142 | cortex_a15_neon_fp_vrecps_vrsqrts_qqq") | |
1143 | ||
1144 | (define_bypass 4 "cortex_a15_neon_int_2" | |
1145 | "cortex_a15_neon_int_1,\ | |
1146 | cortex_a15_neon_int_4,\ | |
1147 | cortex_a15_neon_mul_ddd_8_16_qdd_16_8_long_32_16_long,\ | |
1148 | cortex_a15_neon_mul_qqq_8_16_32_ddd_32,\ | |
1149 | cortex_a15_neon_mla_ddd_8_16_qdd_16_8_long_32_16_long,\ | |
1150 | cortex_a15_neon_mla_qqq_8_16,\ | |
1151 | cortex_a15_neon_fp_vadd_ddd_vabs_dd,\ | |
1152 | cortex_a15_neon_fp_vadd_qqq_vabs_qq,\ | |
1153 | cortex_a15_neon_fp_vmla_ddd,\ | |
1154 | cortex_a15_neon_fp_vmla_qqq,\ | |
1155 | cortex_a15_neon_fp_vrecps_vrsqrts_ddd,\ | |
1156 | cortex_a15_neon_fp_vrecps_vrsqrts_qqq") | |
1157 | ||
1158 | (define_bypass 4 "cortex_a15_neon_int_1" | |
1159 | "cortex_a15_neon_int_1,\ | |
1160 | cortex_a15_neon_int_4,\ | |
1161 | cortex_a15_neon_mul_ddd_8_16_qdd_16_8_long_32_16_long,\ | |
1162 | cortex_a15_neon_mul_qqq_8_16_32_ddd_32,\ | |
1163 | cortex_a15_neon_mla_ddd_8_16_qdd_16_8_long_32_16_long,\ | |
1164 | cortex_a15_neon_mla_qqq_8_16,\ | |
1165 | cortex_a15_neon_fp_vadd_ddd_vabs_dd,\ | |
1166 | cortex_a15_neon_fp_vadd_qqq_vabs_qq,\ | |
1167 | cortex_a15_neon_fp_vmla_ddd,\ | |
1168 | cortex_a15_neon_fp_vmla_qqq,\ | |
1169 | cortex_a15_neon_fp_vrecps_vrsqrts_ddd,\ | |
1170 | cortex_a15_neon_fp_vrecps_vrsqrts_qqq") | |
1171 |