]>
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") | |
96 | (eq_attr "neon_type" "neon_int_1")) | |
97 | "ca15_issue1,ca15_cx_ialu") | |
98 | ||
99 | (define_insn_reservation "cortex_a15_neon_int_2" 5 | |
100 | (and (eq_attr "tune" "cortexa15") | |
101 | (eq_attr "neon_type" "neon_int_2")) | |
102 | "ca15_issue1,ca15_cx_ialu") | |
103 | ||
104 | (define_insn_reservation "cortex_a15_neon_int_3" 5 | |
105 | (and (eq_attr "tune" "cortexa15") | |
106 | (eq_attr "neon_type" "neon_int_3")) | |
107 | "ca15_issue1,ca15_cx_ialu") | |
108 | ||
109 | (define_insn_reservation "cortex_a15_neon_int_4" 5 | |
110 | (and (eq_attr "tune" "cortexa15") | |
111 | (eq_attr "neon_type" "neon_int_4")) | |
112 | "ca15_issue1,ca15_cx_ialu") | |
113 | ||
114 | (define_insn_reservation "cortex_a15_neon_int_5" 5 | |
115 | (and (eq_attr "tune" "cortexa15") | |
116 | (eq_attr "neon_type" "neon_int_5")) | |
117 | "ca15_issue1,ca15_cx_ialu") | |
118 | ||
119 | (define_insn_reservation "cortex_a15_neon_vqneg_vqabs" 5 | |
120 | (and (eq_attr "tune" "cortexa15") | |
121 | (eq_attr "neon_type" "neon_vqneg_vqabs")) | |
122 | "ca15_issue1,ca15_cx_ialu") | |
123 | ||
124 | (define_insn_reservation "cortex_a15_neon_vmov" 5 | |
125 | (and (eq_attr "tune" "cortexa15") | |
126 | (eq_attr "neon_type" "neon_vmov")) | |
127 | "ca15_issue1,ca15_cx_ialu") | |
128 | ||
129 | (define_insn_reservation "cortex_a15_neon_vaba" 7 | |
130 | (and (eq_attr "tune" "cortexa15") | |
131 | (eq_attr "neon_type" "neon_vaba")) | |
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") | |
136 | (eq_attr "neon_type" "neon_vaba_qqq")) | |
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") | |
142 | (eq_attr "neon_type" "neon_mul_ddd_8_16_qdd_16_8_long_32_16_long")) | |
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") | |
147 | (eq_attr "neon_type" "neon_mul_qqq_8_16_32_ddd_32")) | |
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") | |
153 | (eq_attr "neon_type" | |
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") | |
160 | (eq_attr "neon_type" | |
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") | |
167 | (eq_attr "neon_type" | |
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_\ | |
173 | qdd_64_32_long_scalar_qdd_64_32_long" 7 | |
174 | (and (eq_attr "tune" "cortexa15") | |
175 | (eq_attr "neon_type" | |
176 | "neon_mla_ddd_32_qqd_16_ddd_32_scalar_qdd_64_32_long_scalar_qdd_64_32_long")) | |
177 | "ca15_issue1,ca15_cx_imac") | |
178 | ||
179 | (define_insn_reservation | |
180 | "cortex_a15_neon_mla_qqq_32_qqd_32_scalar" 7 | |
181 | (and (eq_attr "tune" "cortexa15") | |
182 | (eq_attr "neon_type" | |
183 | "neon_mla_qqq_32_qqd_32_scalar")) | |
184 | "ca15_issue1,ca15_cx_imac*2") | |
185 | ||
186 | (define_insn_reservation | |
187 | "cortex_a15_neon_mul_ddd_16_scalar_32_16_long_scalar" 6 | |
188 | (and (eq_attr "tune" "cortexa15") | |
189 | (eq_attr "neon_type" | |
190 | "neon_mul_ddd_16_scalar_32_16_long_scalar")) | |
191 | "ca15_issue1,ca15_cx_imac") | |
192 | ||
193 | (define_insn_reservation | |
194 | "cortex_a15_neon_mul_qqd_32_scalar" 7 | |
195 | (and (eq_attr "tune" "cortexa15") | |
196 | (eq_attr "neon_type" | |
197 | "neon_mul_qqd_32_scalar")) | |
198 | "ca15_issue1,ca15_cx_imac*2") | |
199 | ||
200 | (define_insn_reservation | |
201 | "cortex_a15_neon_mla_ddd_16_scalar_qdd_32_16_long_scalar" 6 | |
202 | (and (eq_attr "tune" "cortexa15") | |
203 | (eq_attr "neon_type" | |
204 | "neon_mla_ddd_16_scalar_qdd_32_16_long_scalar")) | |
205 | "ca15_issue1,ca15_cx_imac") | |
206 | ||
207 | (define_insn_reservation | |
208 | "cortex_a15_neon_shift_1" 5 | |
209 | (and (eq_attr "tune" "cortexa15") | |
210 | (eq_attr "neon_type" | |
211 | "neon_shift_1")) | |
212 | "ca15_issue1,ca15_cx_ik+ca15_cx_ishf") | |
213 | ||
214 | (define_insn_reservation | |
215 | "cortex_a15_neon_shift_2" 5 | |
216 | (and (eq_attr "tune" "cortexa15") | |
217 | (eq_attr "neon_type" | |
218 | "neon_shift_2")) | |
219 | "ca15_issue1,ca15_cx_ik+ca15_cx_ishf") | |
220 | ||
221 | (define_insn_reservation | |
222 | "cortex_a15_neon_shift_3" 6 | |
223 | (and (eq_attr "tune" "cortexa15") | |
224 | (eq_attr "neon_type" | |
225 | "neon_shift_3")) | |
226 | "ca15_issue2,(ca15_cx_ik+ca15_cx_ishf)*2") | |
227 | ||
228 | (define_insn_reservation | |
229 | "cortex_a15_neon_vshl_ddd" 5 | |
230 | (and (eq_attr "tune" "cortexa15") | |
231 | (eq_attr "neon_type" | |
232 | "neon_vshl_ddd")) | |
233 | "ca15_issue1,ca15_cx_ik+ca15_cx_ishf") | |
234 | ||
235 | (define_insn_reservation | |
236 | "cortex_a15_neon_vqshl_vrshl_vqrshl_qqq" 6 | |
237 | (and (eq_attr "tune" "cortexa15") | |
238 | (eq_attr "neon_type" | |
239 | "neon_vqshl_vrshl_vqrshl_qqq")) | |
240 | "ca15_issue2,(ca15_cx_ik+ca15_cx_ishf)*2") | |
241 | ||
242 | (define_insn_reservation | |
243 | "cortex_a15_neon_vsra_vrsra" 7 | |
244 | (and (eq_attr "tune" "cortexa15") | |
245 | (eq_attr "neon_type" | |
246 | "neon_vsra_vrsra")) | |
247 | "ca15_issue1,ca15_cx_ishf_with_acc") | |
248 | ||
249 | (define_insn_reservation | |
250 | "cortex_a15_neon_fp_vadd_ddd_vabs_dd" 6 | |
251 | (and (eq_attr "tune" "cortexa15") | |
252 | (eq_attr "neon_type" | |
253 | "neon_fp_vadd_ddd_vabs_dd")) | |
254 | "ca15_issue1,ca15_cx_falu") | |
255 | ||
256 | (define_insn_reservation | |
257 | "cortex_a15_neon_fp_vadd_qqq_vabs_qq" 7 | |
258 | (and (eq_attr "tune" "cortexa15") | |
259 | (eq_attr "neon_type" | |
260 | "neon_fp_vadd_qqq_vabs_qq")) | |
261 | "ca15_issue2,ca15_cx_falu_2") | |
262 | ||
263 | (define_insn_reservation | |
264 | "cortex_a15_neon_fp_vmul_ddd" 5 | |
265 | (and (eq_attr "tune" "cortexa15") | |
266 | (eq_attr "neon_type" | |
267 | "neon_fp_vmul_ddd")) | |
268 | "ca15_issue1,ca15_cx_fmul") | |
269 | ||
270 | (define_insn_reservation | |
271 | "cortex_a15_neon_fp_vmul_qqd" 6 | |
272 | (and (eq_attr "tune" "cortexa15") | |
273 | (eq_attr "neon_type" | |
274 | "neon_fp_vmul_qqd")) | |
275 | "ca15_issue2,ca15_cx_fmul_2") | |
276 | ||
277 | (define_insn_reservation | |
278 | "cortex_a15_neon_fp_vmla_ddd" 9 | |
279 | (and (eq_attr "tune" "cortexa15") | |
280 | (eq_attr "neon_type" | |
281 | "neon_fp_vmla_ddd")) | |
282 | "ca15_issue1,ca15_cx_fmac") | |
283 | ||
284 | (define_insn_reservation | |
285 | "cortex_a15_neon_fp_vmla_qqq" 11 | |
286 | (and (eq_attr "tune" "cortexa15") | |
287 | (eq_attr "neon_type" | |
288 | "neon_fp_vmla_qqq")) | |
289 | "ca15_issue2,ca15_cx_fmac_2") | |
290 | ||
291 | (define_insn_reservation | |
292 | "cortex_a15_neon_fp_vmla_ddd_scalar" 9 | |
293 | (and (eq_attr "tune" "cortexa15") | |
294 | (eq_attr "neon_type" | |
295 | "neon_fp_vmla_ddd_scalar")) | |
296 | "ca15_issue1,ca15_cx_fmac") | |
297 | ||
298 | (define_insn_reservation | |
299 | "cortex_a15_neon_fp_vmla_qqq_scalar" 11 | |
300 | (and (eq_attr "tune" "cortexa15") | |
301 | (eq_attr "neon_type" | |
302 | "neon_fp_vmla_qqq_scalar")) | |
303 | "ca15_issue2,ca15_cx_fmac_2") | |
304 | ||
305 | (define_insn_reservation | |
306 | "cortex_a15_neon_fp_vrecps_vrsqrts_ddd" 9 | |
307 | (and (eq_attr "tune" "cortexa15") | |
308 | (eq_attr "neon_type" | |
309 | "neon_fp_vrecps_vrsqrts_ddd")) | |
310 | "ca15_issue1,ca15_cx_fmac") | |
311 | ||
312 | (define_insn_reservation | |
313 | "cortex_a15_neon_fp_vrecps_vrsqrts_qqq" 11 | |
314 | (and (eq_attr "tune" "cortexa15") | |
315 | (eq_attr "neon_type" | |
316 | "neon_fp_vrecps_vrsqrts_qqq")) | |
317 | "ca15_issue2,ca15_cx_fmac_2") | |
318 | ||
319 | (define_insn_reservation | |
320 | "cortex_a15_neon_bp_simple" 4 | |
321 | (and (eq_attr "tune" "cortexa15") | |
322 | (eq_attr "neon_type" | |
323 | "neon_bp_simple")) | |
324 | "ca15_issue3,ca15_ls+ca15_cx_perm_2,ca15_cx_perm") | |
325 | ||
326 | (define_insn_reservation | |
327 | "cortex_a15_neon_bp_2cycle" 4 | |
328 | (and (eq_attr "tune" "cortexa15") | |
329 | (eq_attr "neon_type" | |
330 | "neon_bp_2cycle")) | |
331 | "ca15_issue1,ca15_cx_perm") | |
332 | ||
333 | (define_insn_reservation | |
334 | "cortex_a15_neon_bp_3cycle" 7 | |
335 | (and (eq_attr "tune" "cortexa15") | |
336 | (eq_attr "neon_type" | |
337 | "neon_bp_3cycle")) | |
338 | "ca15_issue3,ca15_cx_ialu+ca15_cx_perm_2,ca15_cx_perm") | |
339 | ||
340 | (define_insn_reservation | |
341 | "cortex_a15_neon_vld1_1_2_regs" 7 | |
342 | (and (eq_attr "tune" "cortexa15") | |
343 | (eq_attr "neon_type" | |
344 | "neon_vld1_1_2_regs")) | |
345 | "ca15_issue2,ca15_ls,ca15_ldr") | |
346 | ||
347 | (define_insn_reservation | |
348 | "cortex_a15_neon_vld1_3_4_regs" 8 | |
349 | (and (eq_attr "tune" "cortexa15") | |
350 | (eq_attr "neon_type" | |
351 | "neon_vld1_3_4_regs")) | |
352 | "ca15_issue3,ca15_ls1+ca15_ls2,ca15_ldr,ca15_ldr") | |
353 | ||
354 | (define_insn_reservation | |
355 | "cortex_a15_neon_vld2_2_regs_vld1_vld2_all_lanes" 9 | |
356 | (and (eq_attr "tune" "cortexa15") | |
357 | (eq_attr "neon_type" | |
358 | "neon_vld2_2_regs_vld1_vld2_all_lanes")) | |
359 | "ca15_issue3,ca15_ls,ca15_ldr") | |
360 | ||
361 | (define_insn_reservation | |
362 | "cortex_a15_neon_vld2_4_regs" 12 | |
363 | (and (eq_attr "tune" "cortexa15") | |
364 | (eq_attr "neon_type" | |
365 | "neon_vld2_4_regs")) | |
366 | "ca15_issue3,ca15_issue3+ca15_ls1+ca15_ls2,ca15_ldr*2") | |
367 | ||
368 | (define_insn_reservation | |
369 | "cortex_a15_neon_vld3_vld4" 12 | |
370 | (and (eq_attr "tune" "cortexa15") | |
371 | (eq_attr "neon_type" | |
372 | "neon_vld3_vld4")) | |
373 | "ca15_issue3,ca15_issue3+ca15_ls1+ca15_ls2,ca15_ldr*2") | |
374 | ||
375 | (define_insn_reservation | |
376 | "cortex_a15_neon_vst1_1_2_regs_vst2_2_regs" 0 | |
377 | (and (eq_attr "tune" "cortexa15") | |
378 | (eq_attr "neon_type" | |
379 | "neon_vst1_1_2_regs_vst2_2_regs")) | |
380 | "ca15_issue3,ca15_issue3+ca15_cx_perm+ca15_ls1+ca15_ls2,ca15_str*2") | |
381 | ||
382 | (define_insn_reservation | |
383 | "cortex_a15_neon_vst1_3_4_regs" 0 | |
384 | (and (eq_attr "tune" "cortexa15") | |
385 | (eq_attr "neon_type" | |
386 | "neon_vst1_3_4_regs")) | |
387 | "ca15_issue3,ca15_issue3+ca15_ls1+ca15_ls2,ca15_str*3") | |
388 | ||
389 | (define_insn_reservation | |
390 | "cortex_a15_neon_vst2_4_regs_vst3_vst4" 0 | |
391 | (and (eq_attr "tune" "cortexa15") | |
392 | (eq_attr "neon_type" | |
393 | "neon_vst2_4_regs_vst3_vst4")) | |
394 | "ca15_issue3,ca15_issue3+ca15_cx_perm_2+ca15_ls1+ca15_ls2,\ | |
395 | ca15_issue3+ca15_str,ca15_str*3") | |
396 | ||
397 | (define_insn_reservation | |
398 | "cortex_a15_neon_vst3_vst4" 0 | |
399 | (and (eq_attr "tune" "cortexa15") | |
400 | (eq_attr "neon_type" | |
401 | "neon_vst3_vst4")) | |
402 | "ca15_issue3,ca15_issue3+ca15_cx_perm_2+ca15_ls1+ca15_ls2,ca15_str*4") | |
403 | ||
404 | (define_insn_reservation | |
405 | "cortex_a15_neon_vld1_vld2_lane" 9 | |
406 | (and (eq_attr "tune" "cortexa15") | |
407 | (eq_attr "neon_type" | |
408 | "neon_vld1_vld2_lane")) | |
409 | "ca15_issue3,ca15_ls,ca15_ldr") | |
410 | ||
411 | (define_insn_reservation | |
412 | "cortex_a15_neon_vld3_vld4_lane" 10 | |
413 | (and (eq_attr "tune" "cortexa15") | |
414 | (eq_attr "neon_type" | |
415 | "neon_vld3_vld4_lane")) | |
416 | "ca15_issue3,ca15_issue3+ca15_ls,ca15_issue3+ca15_ldr") | |
417 | ||
418 | (define_insn_reservation | |
419 | "cortex_a15_neon_vst1_vst2_lane" 0 | |
420 | (and (eq_attr "tune" "cortexa15") | |
421 | (eq_attr "neon_type" | |
422 | "neon_vst1_vst2_lane")) | |
423 | "ca15_issue3,ca15_cx_perm+ca15_ls,ca15_str") | |
424 | ||
425 | (define_insn_reservation | |
426 | "cortex_a15_neon_vst3_vst4_lane" 0 | |
427 | (and (eq_attr "tune" "cortexa15") | |
428 | (eq_attr "neon_type" | |
429 | "neon_vst3_vst4_lane")) | |
430 | "ca15_issue3,ca15_issue3+ca15_cx_perm+ca15_ls1+ca15_ls2,ca15_str*2") | |
431 | ||
432 | (define_insn_reservation | |
433 | "cortex_a15_neon_vld3_vld4_all_lanes" 11 | |
434 | (and (eq_attr "tune" "cortexa15") | |
435 | (eq_attr "neon_type" | |
436 | "neon_vld3_vld4_all_lanes")) | |
437 | "ca15_issue3,ca15_issue3+ca15_ls,ca15_ldr") | |
438 | ||
439 | (define_insn_reservation | |
440 | "cortex_a15_neon_ldm_2" 20 | |
441 | (and (eq_attr "tune" "cortexa15") | |
442 | (eq_attr "neon_type" | |
443 | "neon_ldm_2")) | |
444 | "ca15_issue3*6") | |
445 | ||
446 | (define_insn_reservation | |
447 | "cortex_a15_neon_stm_2" 0 | |
448 | (and (eq_attr "tune" "cortexa15") | |
449 | (eq_attr "neon_type" | |
450 | "neon_stm_2")) | |
451 | "ca15_issue3*6") | |
452 | ||
453 | (define_insn_reservation | |
454 | "cortex_a15_neon_mcr" 6 | |
455 | (and (eq_attr "tune" "cortexa15") | |
456 | (eq_attr "neon_type" | |
457 | "neon_mcr")) | |
458 | "ca15_issue2,ca15_ls,ca15_cx_perm") | |
459 | ||
460 | (define_insn_reservation | |
461 | "cortex_a15_neon_mcr_2_mcrr" 6 | |
462 | (and (eq_attr "tune" "cortexa15") | |
463 | (eq_attr "neon_type" | |
464 | "neon_mcr_2_mcrr")) | |
465 | "ca15_issue2,ca15_ls1+ca15_ls2") | |
466 | ||
467 | (define_insn_reservation | |
468 | "cortex_a15_neon_mrc" 5 | |
469 | (and (eq_attr "tune" "cortexa15") | |
470 | (eq_attr "neon_type" | |
471 | "neon_mrc")) | |
472 | "ca15_issue1,ca15_ls") | |
473 | ||
474 | (define_insn_reservation | |
475 | "cortex_a15_neon_mrrc" 6 | |
476 | (and (eq_attr "tune" "cortexa15") | |
477 | (eq_attr "neon_type" | |
478 | "neon_mrrc")) | |
479 | "ca15_issue2,ca15_ls1+ca15_ls2") | |
480 | ||
481 | (define_insn_reservation "cortex_a15_vfp_const" 4 | |
482 | (and (eq_attr "tune" "cortexa15") | |
483 | (eq_attr "type" "fconsts,fconstd")) | |
484 | "ca15_issue1,ca15_cx_perm") | |
485 | ||
486 | (define_insn_reservation "cortex_a15_vfp_adds_subs" 6 | |
487 | (and (eq_attr "tune" "cortexa15") | |
488 | (eq_attr "type" "fadds")) | |
489 | "ca15_issue1,ca15_cx_vfp") | |
490 | ||
491 | (define_insn_reservation "cortex_a15_vfp_addd_subd" 10 | |
492 | (and (eq_attr "tune" "cortexa15") | |
493 | (eq_attr "type" "faddd")) | |
494 | "ca15_issue2,ca15_cx_vfp*2") | |
495 | ||
496 | (define_insn_reservation "cortex_a15_vfp_muls" 7 | |
497 | (and (eq_attr "tune" "cortexa15") | |
498 | (eq_attr "type" "fmuls")) | |
499 | "ca15_issue1,ca15_cx_vfp") | |
500 | ||
501 | (define_insn_reservation "cortex_a15_vfp_muld" 12 | |
502 | (and (eq_attr "tune" "cortexa15") | |
503 | (eq_attr "type" "fmuld")) | |
504 | "ca15_issue2,ca15_cx_vfp*2") | |
505 | ||
506 | (define_insn_reservation "cortex_a15_vfp_macs" 6 | |
507 | (and (eq_attr "tune" "cortexa15") | |
508 | (eq_attr "type" "fmacs")) | |
509 | "ca15_issue1,ca15_cx_vfp") | |
510 | ||
511 | (define_insn_reservation "cortex_a15_vfp_macd" 11 | |
512 | (and (eq_attr "tune" "cortexa15") | |
513 | (eq_attr "type" "fmacd")) | |
514 | "ca15_issue2,ca15_cx_vfp*2") | |
515 | ||
516 | (define_insn_reservation "cortex_a15_vfp_cvt" 6 | |
517 | (and (eq_attr "tune" "cortexa15") | |
518 | (eq_attr "type" "f_cvt")) | |
519 | "ca15_issue1,ca15_cx_vfp") | |
520 | ||
521 | (define_insn_reservation "cortex_a15_vfp_cmpd" 8 | |
522 | (and (eq_attr "tune" "cortexa15") | |
523 | (eq_attr "type" "fcmpd")) | |
524 | "ca15_issue2,ca15_cx_perm,ca15_cx_vfp") | |
525 | ||
526 | (define_insn_reservation "cortex_a15_vfp_cmps" 8 | |
527 | (and (eq_attr "tune" "cortexa15") | |
528 | (eq_attr "type" "fcmps")) | |
529 | "ca15_issue2,ca15_cx_perm,ca15_cx_vfp") | |
530 | ||
531 | (define_insn_reservation "cortex_a15_vfp_arithd" 7 | |
532 | (and (eq_attr "tune" "cortexa15") | |
533 | (eq_attr "type" "ffarithd")) | |
534 | "ca15_issue2,ca15_cx_perm*2") | |
535 | ||
536 | (define_insn_reservation "cortex_a15_vfp_cpys" 4 | |
537 | (and (eq_attr "tune" "cortexa15") | |
538 | (eq_attr "type" "fcpys")) | |
539 | "ca15_issue1,ca15_cx_perm") | |
540 | ||
541 | (define_insn_reservation "cortex_a15_vfp_ariths" 7 | |
542 | (and (eq_attr "tune" "cortexa15") | |
543 | (eq_attr "type" "ffariths")) | |
544 | "ca15_issue1,ca15_cx_perm") | |
545 | ||
546 | (define_insn_reservation "cortex_a15_vfp_divs" 10 | |
547 | (and (eq_attr "tune" "cortexa15") | |
548 | (eq_attr "type" "fdivs")) | |
549 | "ca15_issue1,ca15_cx_ik") | |
550 | ||
551 | (define_insn_reservation "cortex_a15_vfp_divd" 18 | |
552 | (and (eq_attr "tune" "cortexa15") | |
553 | (eq_attr "type" "fdivd")) | |
554 | "ca15_issue1,ca15_cx_ik") | |
555 | ||
556 | ;; Define bypasses. | |
557 | (define_bypass 5 "cortex_a15_neon_mcr_2_mcrr" | |
558 | "cortex_a15_neon_int_1,\ | |
559 | cortex_a15_neon_int_4,\ | |
560 | cortex_a15_neon_mul_ddd_8_16_qdd_16_8_long_32_16_long,\ | |
561 | cortex_a15_neon_mul_qqq_8_16_32_ddd_32,\ | |
562 | cortex_a15_neon_mla_ddd_8_16_qdd_16_8_long_32_16_long,\ | |
563 | cortex_a15_neon_mla_qqq_8_16,\ | |
564 | cortex_a15_neon_fp_vadd_ddd_vabs_dd,\ | |
565 | cortex_a15_neon_fp_vadd_qqq_vabs_qq,\ | |
566 | cortex_a15_neon_fp_vmla_ddd,\ | |
567 | cortex_a15_neon_fp_vmla_qqq,\ | |
568 | cortex_a15_neon_fp_vrecps_vrsqrts_ddd,\ | |
569 | cortex_a15_neon_fp_vrecps_vrsqrts_qqq") | |
570 | ||
571 | (define_bypass 5 "cortex_a15_neon_mcr" | |
572 | "cortex_a15_neon_int_1,\ | |
573 | cortex_a15_neon_int_4,\ | |
574 | cortex_a15_neon_mul_ddd_8_16_qdd_16_8_long_32_16_long,\ | |
575 | cortex_a15_neon_mul_qqq_8_16_32_ddd_32,\ | |
576 | cortex_a15_neon_mla_ddd_8_16_qdd_16_8_long_32_16_long,\ | |
577 | cortex_a15_neon_mla_qqq_8_16,\ | |
578 | cortex_a15_neon_fp_vadd_ddd_vabs_dd,\ | |
579 | cortex_a15_neon_fp_vadd_qqq_vabs_qq,\ | |
580 | cortex_a15_neon_fp_vmla_ddd,\ | |
581 | cortex_a15_neon_fp_vmla_qqq,\ | |
582 | cortex_a15_neon_fp_vrecps_vrsqrts_ddd,\ | |
583 | cortex_a15_neon_fp_vrecps_vrsqrts_qqq") | |
584 | ||
585 | (define_bypass 10 "cortex_a15_neon_vld3_vld4_all_lanes" | |
586 | "cortex_a15_neon_int_1,\ | |
587 | cortex_a15_neon_int_4,\ | |
588 | cortex_a15_neon_mul_ddd_8_16_qdd_16_8_long_32_16_long,\ | |
589 | cortex_a15_neon_mul_qqq_8_16_32_ddd_32,\ | |
590 | cortex_a15_neon_mla_ddd_8_16_qdd_16_8_long_32_16_long,\ | |
591 | cortex_a15_neon_mla_qqq_8_16,\ | |
592 | cortex_a15_neon_fp_vadd_ddd_vabs_dd,\ | |
593 | cortex_a15_neon_fp_vadd_qqq_vabs_qq,\ | |
594 | cortex_a15_neon_fp_vmla_ddd,\ | |
595 | cortex_a15_neon_fp_vmla_qqq,\ | |
596 | cortex_a15_neon_fp_vrecps_vrsqrts_ddd,\ | |
597 | cortex_a15_neon_fp_vrecps_vrsqrts_qqq") | |
598 | ||
599 | (define_bypass 9 "cortex_a15_neon_vld3_vld4_lane" | |
600 | "cortex_a15_neon_int_1,\ | |
601 | cortex_a15_neon_int_4,\ | |
602 | cortex_a15_neon_mul_ddd_8_16_qdd_16_8_long_32_16_long,\ | |
603 | cortex_a15_neon_mul_qqq_8_16_32_ddd_32,\ | |
604 | cortex_a15_neon_mla_ddd_8_16_qdd_16_8_long_32_16_long,\ | |
605 | cortex_a15_neon_mla_qqq_8_16,\ | |
606 | cortex_a15_neon_fp_vadd_ddd_vabs_dd,\ | |
607 | cortex_a15_neon_fp_vadd_qqq_vabs_qq,\ | |
608 | cortex_a15_neon_fp_vmla_ddd,\ | |
609 | cortex_a15_neon_fp_vmla_qqq,\ | |
610 | cortex_a15_neon_fp_vrecps_vrsqrts_ddd,\ | |
611 | cortex_a15_neon_fp_vrecps_vrsqrts_qqq") | |
612 | ||
613 | (define_bypass 8 "cortex_a15_neon_vld1_vld2_lane" | |
614 | "cortex_a15_neon_int_1,\ | |
615 | cortex_a15_neon_int_4,\ | |
616 | cortex_a15_neon_mul_ddd_8_16_qdd_16_8_long_32_16_long,\ | |
617 | cortex_a15_neon_mul_qqq_8_16_32_ddd_32,\ | |
618 | cortex_a15_neon_mla_ddd_8_16_qdd_16_8_long_32_16_long,\ | |
619 | cortex_a15_neon_mla_qqq_8_16,\ | |
620 | cortex_a15_neon_fp_vadd_ddd_vabs_dd,\ | |
621 | cortex_a15_neon_fp_vadd_qqq_vabs_qq,\ | |
622 | cortex_a15_neon_fp_vmla_ddd,\ | |
623 | cortex_a15_neon_fp_vmla_qqq,\ | |
624 | cortex_a15_neon_fp_vrecps_vrsqrts_ddd,\ | |
625 | cortex_a15_neon_fp_vrecps_vrsqrts_qqq") | |
626 | ||
627 | (define_bypass 11 "cortex_a15_neon_vld3_vld4" | |
628 | "cortex_a15_neon_int_1,\ | |
629 | cortex_a15_neon_int_4,\ | |
630 | cortex_a15_neon_mul_ddd_8_16_qdd_16_8_long_32_16_long,\ | |
631 | cortex_a15_neon_mul_qqq_8_16_32_ddd_32,\ | |
632 | cortex_a15_neon_mla_ddd_8_16_qdd_16_8_long_32_16_long,\ | |
633 | cortex_a15_neon_mla_qqq_8_16,\ | |
634 | cortex_a15_neon_fp_vadd_ddd_vabs_dd,\ | |
635 | cortex_a15_neon_fp_vadd_qqq_vabs_qq,\ | |
636 | cortex_a15_neon_fp_vmla_ddd,\ | |
637 | cortex_a15_neon_fp_vmla_qqq,\ | |
638 | cortex_a15_neon_fp_vrecps_vrsqrts_ddd,\ | |
639 | cortex_a15_neon_fp_vrecps_vrsqrts_qqq") | |
640 | ||
641 | (define_bypass 11 "cortex_a15_neon_vld2_4_regs" | |
642 | "cortex_a15_neon_int_1,\ | |
643 | cortex_a15_neon_int_4,\ | |
644 | cortex_a15_neon_mul_ddd_8_16_qdd_16_8_long_32_16_long,\ | |
645 | cortex_a15_neon_mul_qqq_8_16_32_ddd_32,\ | |
646 | cortex_a15_neon_mla_ddd_8_16_qdd_16_8_long_32_16_long,\ | |
647 | cortex_a15_neon_mla_qqq_8_16,\ | |
648 | cortex_a15_neon_fp_vadd_ddd_vabs_dd,\ | |
649 | cortex_a15_neon_fp_vadd_qqq_vabs_qq,\ | |
650 | cortex_a15_neon_fp_vmla_ddd,\ | |
651 | cortex_a15_neon_fp_vmla_qqq,\ | |
652 | cortex_a15_neon_fp_vrecps_vrsqrts_ddd,\ | |
653 | cortex_a15_neon_fp_vrecps_vrsqrts_qqq") | |
654 | ||
655 | (define_bypass 8 "cortex_a15_neon_vld2_2_regs_vld1_vld2_all_lanes" | |
656 | "cortex_a15_neon_int_1,\ | |
657 | cortex_a15_neon_int_4,\ | |
658 | cortex_a15_neon_mul_ddd_8_16_qdd_16_8_long_32_16_long,\ | |
659 | cortex_a15_neon_mul_qqq_8_16_32_ddd_32,\ | |
660 | cortex_a15_neon_mla_ddd_8_16_qdd_16_8_long_32_16_long,\ | |
661 | cortex_a15_neon_mla_qqq_8_16,\ | |
662 | cortex_a15_neon_fp_vadd_ddd_vabs_dd,\ | |
663 | cortex_a15_neon_fp_vadd_qqq_vabs_qq,\ | |
664 | cortex_a15_neon_fp_vmla_ddd,\ | |
665 | cortex_a15_neon_fp_vmla_qqq,\ | |
666 | cortex_a15_neon_fp_vrecps_vrsqrts_ddd,\ | |
667 | cortex_a15_neon_fp_vrecps_vrsqrts_qqq") | |
668 | ||
669 | (define_bypass 7 "cortex_a15_neon_vld1_3_4_regs" | |
670 | "cortex_a15_neon_int_1,\ | |
671 | cortex_a15_neon_int_4,\ | |
672 | cortex_a15_neon_mul_ddd_8_16_qdd_16_8_long_32_16_long,\ | |
673 | cortex_a15_neon_mul_qqq_8_16_32_ddd_32,\ | |
674 | cortex_a15_neon_mla_ddd_8_16_qdd_16_8_long_32_16_long,\ | |
675 | cortex_a15_neon_mla_qqq_8_16,\ | |
676 | cortex_a15_neon_fp_vadd_ddd_vabs_dd,\ | |
677 | cortex_a15_neon_fp_vadd_qqq_vabs_qq,\ | |
678 | cortex_a15_neon_fp_vmla_ddd,\ | |
679 | cortex_a15_neon_fp_vmla_qqq,\ | |
680 | cortex_a15_neon_fp_vrecps_vrsqrts_ddd,\ | |
681 | cortex_a15_neon_fp_vrecps_vrsqrts_qqq") | |
682 | ||
683 | (define_bypass 6 "cortex_a15_neon_vld1_1_2_regs" | |
684 | "cortex_a15_neon_int_1,\ | |
685 | cortex_a15_neon_int_4,\ | |
686 | cortex_a15_neon_mul_ddd_8_16_qdd_16_8_long_32_16_long,\ | |
687 | cortex_a15_neon_mul_qqq_8_16_32_ddd_32,\ | |
688 | cortex_a15_neon_mla_ddd_8_16_qdd_16_8_long_32_16_long,\ | |
689 | cortex_a15_neon_mla_qqq_8_16,\ | |
690 | cortex_a15_neon_fp_vadd_ddd_vabs_dd,\ | |
691 | cortex_a15_neon_fp_vadd_qqq_vabs_qq,\ | |
692 | cortex_a15_neon_fp_vmla_ddd,\ | |
693 | cortex_a15_neon_fp_vmla_qqq,\ | |
694 | cortex_a15_neon_fp_vrecps_vrsqrts_ddd,\ | |
695 | cortex_a15_neon_fp_vrecps_vrsqrts_qqq") | |
696 | ||
697 | (define_bypass 6 "cortex_a15_neon_bp_3cycle" | |
698 | "cortex_a15_neon_int_1,\ | |
699 | cortex_a15_neon_int_4,\ | |
700 | cortex_a15_neon_mul_ddd_8_16_qdd_16_8_long_32_16_long,\ | |
701 | cortex_a15_neon_mul_qqq_8_16_32_ddd_32,\ | |
702 | cortex_a15_neon_mla_ddd_8_16_qdd_16_8_long_32_16_long,\ | |
703 | cortex_a15_neon_mla_qqq_8_16,\ | |
704 | cortex_a15_neon_fp_vadd_ddd_vabs_dd,\ | |
705 | cortex_a15_neon_fp_vadd_qqq_vabs_qq,\ | |
706 | cortex_a15_neon_fp_vmla_ddd,\ | |
707 | cortex_a15_neon_fp_vmla_qqq,\ | |
708 | cortex_a15_neon_fp_vrecps_vrsqrts_ddd,\ | |
709 | cortex_a15_neon_fp_vrecps_vrsqrts_qqq") | |
710 | ||
711 | (define_bypass 3 "cortex_a15_neon_bp_2cycle" | |
712 | "cortex_a15_neon_int_1,\ | |
713 | cortex_a15_neon_int_4,\ | |
714 | cortex_a15_neon_mul_ddd_8_16_qdd_16_8_long_32_16_long,\ | |
715 | cortex_a15_neon_mul_qqq_8_16_32_ddd_32,\ | |
716 | cortex_a15_neon_mla_ddd_8_16_qdd_16_8_long_32_16_long,\ | |
717 | cortex_a15_neon_mla_qqq_8_16,\ | |
718 | cortex_a15_neon_fp_vadd_ddd_vabs_dd,\ | |
719 | cortex_a15_neon_fp_vadd_qqq_vabs_qq,\ | |
720 | cortex_a15_neon_fp_vmla_ddd,\ | |
721 | cortex_a15_neon_fp_vmla_qqq,\ | |
722 | cortex_a15_neon_fp_vrecps_vrsqrts_ddd,\ | |
723 | cortex_a15_neon_fp_vrecps_vrsqrts_qqq") | |
724 | ||
725 | (define_bypass 3 "cortex_a15_neon_bp_simple" | |
726 | "cortex_a15_neon_int_1,\ | |
727 | cortex_a15_neon_int_4,\ | |
728 | cortex_a15_neon_mul_ddd_8_16_qdd_16_8_long_32_16_long,\ | |
729 | cortex_a15_neon_mul_qqq_8_16_32_ddd_32,\ | |
730 | cortex_a15_neon_mla_ddd_8_16_qdd_16_8_long_32_16_long,\ | |
731 | cortex_a15_neon_mla_qqq_8_16,\ | |
732 | cortex_a15_neon_fp_vadd_ddd_vabs_dd,\ | |
733 | cortex_a15_neon_fp_vadd_qqq_vabs_qq,\ | |
734 | cortex_a15_neon_fp_vmla_ddd,\ | |
735 | cortex_a15_neon_fp_vmla_qqq,\ | |
736 | cortex_a15_neon_fp_vrecps_vrsqrts_ddd,\ | |
737 | cortex_a15_neon_fp_vrecps_vrsqrts_qqq") | |
738 | ||
739 | (define_bypass 10 "cortex_a15_neon_fp_vrecps_vrsqrts_qqq" | |
740 | "cortex_a15_neon_int_1,\ | |
741 | cortex_a15_neon_int_4,\ | |
742 | cortex_a15_neon_mul_ddd_8_16_qdd_16_8_long_32_16_long,\ | |
743 | cortex_a15_neon_mul_qqq_8_16_32_ddd_32,\ | |
744 | cortex_a15_neon_mla_ddd_8_16_qdd_16_8_long_32_16_long,\ | |
745 | cortex_a15_neon_mla_qqq_8_16,\ | |
746 | cortex_a15_neon_fp_vadd_ddd_vabs_dd,\ | |
747 | cortex_a15_neon_fp_vadd_qqq_vabs_qq,\ | |
748 | cortex_a15_neon_fp_vmla_ddd,\ | |
749 | cortex_a15_neon_fp_vmla_qqq,\ | |
750 | cortex_a15_neon_fp_vrecps_vrsqrts_ddd,\ | |
751 | cortex_a15_neon_fp_vrecps_vrsqrts_qqq") | |
752 | ||
753 | (define_bypass 8 "cortex_a15_neon_fp_vrecps_vrsqrts_ddd" | |
754 | "cortex_a15_neon_int_1,\ | |
755 | cortex_a15_neon_int_4,\ | |
756 | cortex_a15_neon_mul_ddd_8_16_qdd_16_8_long_32_16_long,\ | |
757 | cortex_a15_neon_mul_qqq_8_16_32_ddd_32,\ | |
758 | cortex_a15_neon_mla_ddd_8_16_qdd_16_8_long_32_16_long,\ | |
759 | cortex_a15_neon_mla_qqq_8_16,\ | |
760 | cortex_a15_neon_fp_vadd_ddd_vabs_dd,\ | |
761 | cortex_a15_neon_fp_vadd_qqq_vabs_qq,\ | |
762 | cortex_a15_neon_fp_vmla_ddd,\ | |
763 | cortex_a15_neon_fp_vmla_qqq,\ | |
764 | cortex_a15_neon_fp_vrecps_vrsqrts_ddd,\ | |
765 | cortex_a15_neon_fp_vrecps_vrsqrts_qqq") | |
766 | ||
767 | (define_bypass 10 "cortex_a15_neon_fp_vmla_qqq_scalar" | |
768 | "cortex_a15_neon_int_1,\ | |
769 | cortex_a15_neon_int_4,\ | |
770 | cortex_a15_neon_mul_ddd_8_16_qdd_16_8_long_32_16_long,\ | |
771 | cortex_a15_neon_mul_qqq_8_16_32_ddd_32,\ | |
772 | cortex_a15_neon_mla_ddd_8_16_qdd_16_8_long_32_16_long,\ | |
773 | cortex_a15_neon_mla_qqq_8_16,\ | |
774 | cortex_a15_neon_fp_vadd_ddd_vabs_dd,\ | |
775 | cortex_a15_neon_fp_vadd_qqq_vabs_qq,\ | |
776 | cortex_a15_neon_fp_vmla_ddd,\ | |
777 | cortex_a15_neon_fp_vmla_qqq,\ | |
778 | cortex_a15_neon_fp_vrecps_vrsqrts_ddd,\ | |
779 | cortex_a15_neon_fp_vrecps_vrsqrts_qqq") | |
780 | ||
781 | (define_bypass 8 "cortex_a15_neon_fp_vmla_ddd_scalar" | |
782 | "cortex_a15_neon_int_1,\ | |
783 | cortex_a15_neon_int_4,\ | |
784 | cortex_a15_neon_mul_ddd_8_16_qdd_16_8_long_32_16_long,\ | |
785 | cortex_a15_neon_mul_qqq_8_16_32_ddd_32,\ | |
786 | cortex_a15_neon_mla_ddd_8_16_qdd_16_8_long_32_16_long,\ | |
787 | cortex_a15_neon_mla_qqq_8_16,\ | |
788 | cortex_a15_neon_fp_vadd_ddd_vabs_dd,\ | |
789 | cortex_a15_neon_fp_vadd_qqq_vabs_qq,\ | |
790 | cortex_a15_neon_fp_vmla_ddd,\ | |
791 | cortex_a15_neon_fp_vmla_qqq,\ | |
792 | cortex_a15_neon_fp_vrecps_vrsqrts_ddd,\ | |
793 | cortex_a15_neon_fp_vrecps_vrsqrts_qqq") | |
794 | ||
795 | (define_bypass 10 "cortex_a15_neon_fp_vmla_qqq" | |
796 | "cortex_a15_neon_int_1,\ | |
797 | cortex_a15_neon_int_4,\ | |
798 | cortex_a15_neon_mul_ddd_8_16_qdd_16_8_long_32_16_long,\ | |
799 | cortex_a15_neon_mul_qqq_8_16_32_ddd_32,\ | |
800 | cortex_a15_neon_mla_ddd_8_16_qdd_16_8_long_32_16_long,\ | |
801 | cortex_a15_neon_mla_qqq_8_16,\ | |
802 | cortex_a15_neon_fp_vadd_ddd_vabs_dd,\ | |
803 | cortex_a15_neon_fp_vadd_qqq_vabs_qq,\ | |
804 | cortex_a15_neon_fp_vmla_ddd,\ | |
805 | cortex_a15_neon_fp_vmla_qqq,\ | |
806 | cortex_a15_neon_fp_vrecps_vrsqrts_ddd,\ | |
807 | cortex_a15_neon_fp_vrecps_vrsqrts_qqq") | |
808 | ||
809 | (define_bypass 8 "cortex_a15_neon_fp_vmla_ddd" | |
810 | "cortex_a15_neon_int_1,\ | |
811 | cortex_a15_neon_int_4,\ | |
812 | cortex_a15_neon_mul_ddd_8_16_qdd_16_8_long_32_16_long,\ | |
813 | cortex_a15_neon_mul_qqq_8_16_32_ddd_32,\ | |
814 | cortex_a15_neon_mla_ddd_8_16_qdd_16_8_long_32_16_long,\ | |
815 | cortex_a15_neon_mla_qqq_8_16,\ | |
816 | cortex_a15_neon_fp_vadd_ddd_vabs_dd,\ | |
817 | cortex_a15_neon_fp_vadd_qqq_vabs_qq,\ | |
818 | cortex_a15_neon_fp_vmla_ddd,\ | |
819 | cortex_a15_neon_fp_vmla_qqq,\ | |
820 | cortex_a15_neon_fp_vrecps_vrsqrts_ddd,\ | |
821 | cortex_a15_neon_fp_vrecps_vrsqrts_qqq") | |
822 | ||
823 | (define_bypass 5 "cortex_a15_neon_fp_vmul_qqd" | |
824 | "cortex_a15_neon_int_1,\ | |
825 | cortex_a15_neon_int_4,\ | |
826 | cortex_a15_neon_mul_ddd_8_16_qdd_16_8_long_32_16_long,\ | |
827 | cortex_a15_neon_mul_qqq_8_16_32_ddd_32,\ | |
828 | cortex_a15_neon_mla_ddd_8_16_qdd_16_8_long_32_16_long,\ | |
829 | cortex_a15_neon_mla_qqq_8_16,\ | |
830 | cortex_a15_neon_fp_vadd_ddd_vabs_dd,\ | |
831 | cortex_a15_neon_fp_vadd_qqq_vabs_qq,\ | |
832 | cortex_a15_neon_fp_vmla_ddd,\ | |
833 | cortex_a15_neon_fp_vmla_qqq,\ | |
834 | cortex_a15_neon_fp_vrecps_vrsqrts_ddd,\ | |
835 | cortex_a15_neon_fp_vrecps_vrsqrts_qqq") | |
836 | ||
837 | (define_bypass 4 "cortex_a15_neon_fp_vmul_ddd" | |
838 | "cortex_a15_neon_int_1,\ | |
839 | cortex_a15_neon_int_4,\ | |
840 | cortex_a15_neon_mul_ddd_8_16_qdd_16_8_long_32_16_long,\ | |
841 | cortex_a15_neon_mul_qqq_8_16_32_ddd_32,\ | |
842 | cortex_a15_neon_mla_ddd_8_16_qdd_16_8_long_32_16_long,\ | |
843 | cortex_a15_neon_mla_qqq_8_16,\ | |
844 | cortex_a15_neon_fp_vadd_ddd_vabs_dd,\ | |
845 | cortex_a15_neon_fp_vadd_qqq_vabs_qq,\ | |
846 | cortex_a15_neon_fp_vmla_ddd,\ | |
847 | cortex_a15_neon_fp_vmla_qqq,\ | |
848 | cortex_a15_neon_fp_vrecps_vrsqrts_ddd,\ | |
849 | cortex_a15_neon_fp_vrecps_vrsqrts_qqq") | |
850 | ||
851 | (define_bypass 6 "cortex_a15_neon_fp_vadd_qqq_vabs_qq" | |
852 | "cortex_a15_neon_int_1,\ | |
853 | cortex_a15_neon_int_4,\ | |
854 | cortex_a15_neon_mul_ddd_8_16_qdd_16_8_long_32_16_long,\ | |
855 | cortex_a15_neon_mul_qqq_8_16_32_ddd_32,\ | |
856 | cortex_a15_neon_mla_ddd_8_16_qdd_16_8_long_32_16_long,\ | |
857 | cortex_a15_neon_mla_qqq_8_16,\ | |
858 | cortex_a15_neon_fp_vadd_ddd_vabs_dd,\ | |
859 | cortex_a15_neon_fp_vadd_qqq_vabs_qq,\ | |
860 | cortex_a15_neon_fp_vmla_ddd,\ | |
861 | cortex_a15_neon_fp_vmla_qqq,\ | |
862 | cortex_a15_neon_fp_vrecps_vrsqrts_ddd,\ | |
863 | cortex_a15_neon_fp_vrecps_vrsqrts_qqq") | |
864 | ||
865 | (define_bypass 5 "cortex_a15_neon_fp_vadd_ddd_vabs_dd" | |
866 | "cortex_a15_neon_int_1,\ | |
867 | cortex_a15_neon_int_4,\ | |
868 | cortex_a15_neon_mul_ddd_8_16_qdd_16_8_long_32_16_long,\ | |
869 | cortex_a15_neon_mul_qqq_8_16_32_ddd_32,\ | |
870 | cortex_a15_neon_mla_ddd_8_16_qdd_16_8_long_32_16_long,\ | |
871 | cortex_a15_neon_mla_qqq_8_16,\ | |
872 | cortex_a15_neon_fp_vadd_ddd_vabs_dd,\ | |
873 | cortex_a15_neon_fp_vadd_qqq_vabs_qq,\ | |
874 | cortex_a15_neon_fp_vmla_ddd,\ | |
875 | cortex_a15_neon_fp_vmla_qqq,\ | |
876 | cortex_a15_neon_fp_vrecps_vrsqrts_ddd,\ | |
877 | cortex_a15_neon_fp_vrecps_vrsqrts_qqq") | |
878 | ||
879 | (define_bypass 6 "cortex_a15_neon_vsra_vrsra" | |
880 | "cortex_a15_neon_int_1,\ | |
881 | cortex_a15_neon_int_4,\ | |
882 | cortex_a15_neon_mul_ddd_8_16_qdd_16_8_long_32_16_long,\ | |
883 | cortex_a15_neon_mul_qqq_8_16_32_ddd_32,\ | |
884 | cortex_a15_neon_mla_ddd_8_16_qdd_16_8_long_32_16_long,\ | |
885 | cortex_a15_neon_mla_qqq_8_16,\ | |
886 | cortex_a15_neon_fp_vadd_ddd_vabs_dd,\ | |
887 | cortex_a15_neon_fp_vadd_qqq_vabs_qq,\ | |
888 | cortex_a15_neon_fp_vmla_ddd,\ | |
889 | cortex_a15_neon_fp_vmla_qqq,\ | |
890 | cortex_a15_neon_fp_vrecps_vrsqrts_ddd,\ | |
891 | cortex_a15_neon_fp_vrecps_vrsqrts_qqq") | |
892 | ||
893 | (define_bypass 5 "cortex_a15_neon_vqshl_vrshl_vqrshl_qqq" | |
894 | "cortex_a15_neon_int_1,\ | |
895 | cortex_a15_neon_int_4,\ | |
896 | cortex_a15_neon_mul_ddd_8_16_qdd_16_8_long_32_16_long,\ | |
897 | cortex_a15_neon_mul_qqq_8_16_32_ddd_32,\ | |
898 | cortex_a15_neon_mla_ddd_8_16_qdd_16_8_long_32_16_long,\ | |
899 | cortex_a15_neon_mla_qqq_8_16,\ | |
900 | cortex_a15_neon_fp_vadd_ddd_vabs_dd,\ | |
901 | cortex_a15_neon_fp_vadd_qqq_vabs_qq,\ | |
902 | cortex_a15_neon_fp_vmla_ddd,\ | |
903 | cortex_a15_neon_fp_vmla_qqq,\ | |
904 | cortex_a15_neon_fp_vrecps_vrsqrts_ddd,\ | |
905 | cortex_a15_neon_fp_vrecps_vrsqrts_qqq") | |
906 | ||
907 | (define_bypass 4 "cortex_a15_neon_vshl_ddd" | |
908 | "cortex_a15_neon_int_1,\ | |
909 | cortex_a15_neon_int_4,\ | |
910 | cortex_a15_neon_mul_ddd_8_16_qdd_16_8_long_32_16_long,\ | |
911 | cortex_a15_neon_mul_qqq_8_16_32_ddd_32,\ | |
912 | cortex_a15_neon_mla_ddd_8_16_qdd_16_8_long_32_16_long,\ | |
913 | cortex_a15_neon_mla_qqq_8_16,\ | |
914 | cortex_a15_neon_fp_vadd_ddd_vabs_dd,\ | |
915 | cortex_a15_neon_fp_vadd_qqq_vabs_qq,\ | |
916 | cortex_a15_neon_fp_vmla_ddd,\ | |
917 | cortex_a15_neon_fp_vmla_qqq,\ | |
918 | cortex_a15_neon_fp_vrecps_vrsqrts_ddd,\ | |
919 | cortex_a15_neon_fp_vrecps_vrsqrts_qqq") | |
920 | ||
921 | (define_bypass 5 "cortex_a15_neon_shift_3" | |
922 | "cortex_a15_neon_int_1,\ | |
923 | cortex_a15_neon_int_4,\ | |
924 | cortex_a15_neon_mul_ddd_8_16_qdd_16_8_long_32_16_long,\ | |
925 | cortex_a15_neon_mul_qqq_8_16_32_ddd_32,\ | |
926 | cortex_a15_neon_mla_ddd_8_16_qdd_16_8_long_32_16_long,\ | |
927 | cortex_a15_neon_mla_qqq_8_16,\ | |
928 | cortex_a15_neon_fp_vadd_ddd_vabs_dd,\ | |
929 | cortex_a15_neon_fp_vadd_qqq_vabs_qq,\ | |
930 | cortex_a15_neon_fp_vmla_ddd,\ | |
931 | cortex_a15_neon_fp_vmla_qqq,\ | |
932 | cortex_a15_neon_fp_vrecps_vrsqrts_ddd,\ | |
933 | cortex_a15_neon_fp_vrecps_vrsqrts_qqq") | |
934 | ||
935 | (define_bypass 4 "cortex_a15_neon_shift_2" | |
936 | "cortex_a15_neon_int_1,\ | |
937 | cortex_a15_neon_int_4,\ | |
938 | cortex_a15_neon_mul_ddd_8_16_qdd_16_8_long_32_16_long,\ | |
939 | cortex_a15_neon_mul_qqq_8_16_32_ddd_32,\ | |
940 | cortex_a15_neon_mla_ddd_8_16_qdd_16_8_long_32_16_long,\ | |
941 | cortex_a15_neon_mla_qqq_8_16,\ | |
942 | cortex_a15_neon_fp_vadd_ddd_vabs_dd,\ | |
943 | cortex_a15_neon_fp_vadd_qqq_vabs_qq,\ | |
944 | cortex_a15_neon_fp_vmla_ddd,\ | |
945 | cortex_a15_neon_fp_vmla_qqq,\ | |
946 | cortex_a15_neon_fp_vrecps_vrsqrts_ddd,\ | |
947 | cortex_a15_neon_fp_vrecps_vrsqrts_qqq") | |
948 | ||
949 | (define_bypass 4 "cortex_a15_neon_shift_1" | |
950 | "cortex_a15_neon_int_1,\ | |
951 | cortex_a15_neon_int_4,\ | |
952 | cortex_a15_neon_mul_ddd_8_16_qdd_16_8_long_32_16_long,\ | |
953 | cortex_a15_neon_mul_qqq_8_16_32_ddd_32,\ | |
954 | cortex_a15_neon_mla_ddd_8_16_qdd_16_8_long_32_16_long,\ | |
955 | cortex_a15_neon_mla_qqq_8_16,\ | |
956 | cortex_a15_neon_fp_vadd_ddd_vabs_dd,\ | |
957 | cortex_a15_neon_fp_vadd_qqq_vabs_qq,\ | |
958 | cortex_a15_neon_fp_vmla_ddd,\ | |
959 | cortex_a15_neon_fp_vmla_qqq,\ | |
960 | cortex_a15_neon_fp_vrecps_vrsqrts_ddd,\ | |
961 | cortex_a15_neon_fp_vrecps_vrsqrts_qqq") | |
962 | ||
963 | (define_bypass 5 "cortex_a15_neon_mla_ddd_16_scalar_qdd_32_16_long_scalar" | |
964 | "cortex_a15_neon_int_1,\ | |
965 | cortex_a15_neon_int_4,\ | |
966 | cortex_a15_neon_mul_ddd_8_16_qdd_16_8_long_32_16_long,\ | |
967 | cortex_a15_neon_mul_qqq_8_16_32_ddd_32,\ | |
968 | cortex_a15_neon_mla_ddd_8_16_qdd_16_8_long_32_16_long,\ | |
969 | cortex_a15_neon_mla_qqq_8_16,\ | |
970 | cortex_a15_neon_fp_vadd_ddd_vabs_dd,\ | |
971 | cortex_a15_neon_fp_vadd_qqq_vabs_qq,\ | |
972 | cortex_a15_neon_fp_vmla_ddd,\ | |
973 | cortex_a15_neon_fp_vmla_qqq,\ | |
974 | cortex_a15_neon_fp_vrecps_vrsqrts_ddd,\ | |
975 | cortex_a15_neon_fp_vrecps_vrsqrts_qqq") | |
976 | ||
977 | (define_bypass 6 "cortex_a15_neon_mul_qqd_32_scalar" | |
978 | "cortex_a15_neon_int_1,\ | |
979 | cortex_a15_neon_int_4,\ | |
980 | cortex_a15_neon_mul_ddd_8_16_qdd_16_8_long_32_16_long,\ | |
981 | cortex_a15_neon_mul_qqq_8_16_32_ddd_32,\ | |
982 | cortex_a15_neon_mla_ddd_8_16_qdd_16_8_long_32_16_long,\ | |
983 | cortex_a15_neon_mla_qqq_8_16,\ | |
984 | cortex_a15_neon_fp_vadd_ddd_vabs_dd,\ | |
985 | cortex_a15_neon_fp_vadd_qqq_vabs_qq,\ | |
986 | cortex_a15_neon_fp_vmla_ddd,\ | |
987 | cortex_a15_neon_fp_vmla_qqq,\ | |
988 | cortex_a15_neon_fp_vrecps_vrsqrts_ddd,\ | |
989 | cortex_a15_neon_fp_vrecps_vrsqrts_qqq") | |
990 | ||
991 | (define_bypass 5 "cortex_a15_neon_mul_ddd_16_scalar_32_16_long_scalar" | |
992 | "cortex_a15_neon_int_1,\ | |
993 | cortex_a15_neon_int_4,\ | |
994 | cortex_a15_neon_mul_ddd_8_16_qdd_16_8_long_32_16_long,\ | |
995 | cortex_a15_neon_mul_qqq_8_16_32_ddd_32,\ | |
996 | cortex_a15_neon_mla_ddd_8_16_qdd_16_8_long_32_16_long,\ | |
997 | cortex_a15_neon_mla_qqq_8_16,\ | |
998 | cortex_a15_neon_fp_vadd_ddd_vabs_dd,\ | |
999 | cortex_a15_neon_fp_vadd_qqq_vabs_qq,\ | |
1000 | cortex_a15_neon_fp_vmla_ddd,\ | |
1001 | cortex_a15_neon_fp_vmla_qqq,\ | |
1002 | cortex_a15_neon_fp_vrecps_vrsqrts_ddd,\ | |
1003 | cortex_a15_neon_fp_vrecps_vrsqrts_qqq") | |
1004 | ||
1005 | (define_bypass 6 "cortex_a15_neon_mla_qqq_32_qqd_32_scalar" | |
1006 | "cortex_a15_neon_int_1,\ | |
1007 | cortex_a15_neon_int_4,\ | |
1008 | cortex_a15_neon_mul_ddd_8_16_qdd_16_8_long_32_16_long,\ | |
1009 | cortex_a15_neon_mul_qqq_8_16_32_ddd_32,\ | |
1010 | cortex_a15_neon_mla_ddd_8_16_qdd_16_8_long_32_16_long,\ | |
1011 | cortex_a15_neon_mla_qqq_8_16,\ | |
1012 | cortex_a15_neon_fp_vadd_ddd_vabs_dd,\ | |
1013 | cortex_a15_neon_fp_vadd_qqq_vabs_qq,\ | |
1014 | cortex_a15_neon_fp_vmla_ddd,\ | |
1015 | cortex_a15_neon_fp_vmla_qqq,\ | |
1016 | cortex_a15_neon_fp_vrecps_vrsqrts_ddd,\ | |
1017 | cortex_a15_neon_fp_vrecps_vrsqrts_qqq") | |
1018 | ||
1019 | (define_bypass 6 "cortex_a15_neon_mla_qqq_8_16" | |
1020 | "cortex_a15_neon_int_1,\ | |
1021 | cortex_a15_neon_int_4,\ | |
1022 | cortex_a15_neon_mul_ddd_8_16_qdd_16_8_long_32_16_long,\ | |
1023 | cortex_a15_neon_mul_qqq_8_16_32_ddd_32,\ | |
1024 | cortex_a15_neon_mla_ddd_8_16_qdd_16_8_long_32_16_long,\ | |
1025 | cortex_a15_neon_mla_qqq_8_16,\ | |
1026 | cortex_a15_neon_fp_vadd_ddd_vabs_dd,\ | |
1027 | cortex_a15_neon_fp_vadd_qqq_vabs_qq,\ | |
1028 | cortex_a15_neon_fp_vmla_ddd,\ | |
1029 | cortex_a15_neon_fp_vmla_qqq,\ | |
1030 | cortex_a15_neon_fp_vrecps_vrsqrts_ddd,\ | |
1031 | cortex_a15_neon_fp_vrecps_vrsqrts_qqq") | |
1032 | ||
1033 | (define_bypass 5 "cortex_a15_neon_mla_ddd_8_16_qdd_16_8_long_32_16_long" | |
1034 | "cortex_a15_neon_int_1,\ | |
1035 | cortex_a15_neon_int_4,\ | |
1036 | cortex_a15_neon_mul_ddd_8_16_qdd_16_8_long_32_16_long,\ | |
1037 | cortex_a15_neon_mul_qqq_8_16_32_ddd_32,\ | |
1038 | cortex_a15_neon_mla_ddd_8_16_qdd_16_8_long_32_16_long,\ | |
1039 | cortex_a15_neon_mla_qqq_8_16,\ | |
1040 | cortex_a15_neon_fp_vadd_ddd_vabs_dd,\ | |
1041 | cortex_a15_neon_fp_vadd_qqq_vabs_qq,\ | |
1042 | cortex_a15_neon_fp_vmla_ddd,\ | |
1043 | cortex_a15_neon_fp_vmla_qqq,\ | |
1044 | cortex_a15_neon_fp_vrecps_vrsqrts_ddd,\ | |
1045 | cortex_a15_neon_fp_vrecps_vrsqrts_qqq") | |
1046 | ||
1047 | (define_bypass 6 | |
1048 | "cortex_a15_neon_mul_qdd_64_32_long_qqd_16_ddd_32_scalar_64_32_long_scalar" | |
1049 | "cortex_a15_neon_int_1,\ | |
1050 | cortex_a15_neon_int_4,\ | |
1051 | cortex_a15_neon_mul_ddd_8_16_qdd_16_8_long_32_16_long,\ | |
1052 | cortex_a15_neon_mul_qqq_8_16_32_ddd_32,\ | |
1053 | cortex_a15_neon_mla_ddd_8_16_qdd_16_8_long_32_16_long,\ | |
1054 | cortex_a15_neon_mla_qqq_8_16,\ | |
1055 | cortex_a15_neon_fp_vadd_ddd_vabs_dd,\ | |
1056 | cortex_a15_neon_fp_vadd_qqq_vabs_qq,\ | |
1057 | cortex_a15_neon_fp_vmla_ddd,\ | |
1058 | cortex_a15_neon_fp_vmla_qqq,\ | |
1059 | cortex_a15_neon_fp_vrecps_vrsqrts_ddd,\ | |
1060 | cortex_a15_neon_fp_vrecps_vrsqrts_qqq") | |
1061 | ||
1062 | (define_bypass 6 "cortex_a15_neon_mul_qqq_8_16_32_ddd_32" | |
1063 | "cortex_a15_neon_int_1,\ | |
1064 | cortex_a15_neon_int_4,\ | |
1065 | cortex_a15_neon_mul_ddd_8_16_qdd_16_8_long_32_16_long,\ | |
1066 | cortex_a15_neon_mul_qqq_8_16_32_ddd_32,\ | |
1067 | cortex_a15_neon_mla_ddd_8_16_qdd_16_8_long_32_16_long,\ | |
1068 | cortex_a15_neon_mla_qqq_8_16,\ | |
1069 | cortex_a15_neon_fp_vadd_ddd_vabs_dd,\ | |
1070 | cortex_a15_neon_fp_vadd_qqq_vabs_qq,\ | |
1071 | cortex_a15_neon_fp_vmla_ddd,\ | |
1072 | cortex_a15_neon_fp_vmla_qqq,\ | |
1073 | cortex_a15_neon_fp_vrecps_vrsqrts_ddd,\ | |
1074 | cortex_a15_neon_fp_vrecps_vrsqrts_qqq") | |
1075 | ||
1076 | (define_bypass 5 "cortex_a15_neon_mul_ddd_8_16_qdd_16_8_long_32_16_long" | |
1077 | "cortex_a15_neon_int_1,\ | |
1078 | cortex_a15_neon_int_4,\ | |
1079 | cortex_a15_neon_mul_ddd_8_16_qdd_16_8_long_32_16_long,\ | |
1080 | cortex_a15_neon_mul_qqq_8_16_32_ddd_32,\ | |
1081 | cortex_a15_neon_mla_ddd_8_16_qdd_16_8_long_32_16_long,\ | |
1082 | cortex_a15_neon_mla_qqq_8_16,\ | |
1083 | cortex_a15_neon_fp_vadd_ddd_vabs_dd,\ | |
1084 | cortex_a15_neon_fp_vadd_qqq_vabs_qq,\ | |
1085 | cortex_a15_neon_fp_vmla_ddd,\ | |
1086 | cortex_a15_neon_fp_vmla_qqq,\ | |
1087 | cortex_a15_neon_fp_vrecps_vrsqrts_ddd,\ | |
1088 | cortex_a15_neon_fp_vrecps_vrsqrts_qqq") | |
1089 | ||
1090 | (define_bypass 7 "cortex_a15_neon_vaba_qqq" | |
1091 | "cortex_a15_neon_int_1,\ | |
1092 | cortex_a15_neon_int_4,\ | |
1093 | cortex_a15_neon_mul_ddd_8_16_qdd_16_8_long_32_16_long,\ | |
1094 | cortex_a15_neon_mul_qqq_8_16_32_ddd_32,\ | |
1095 | cortex_a15_neon_mla_ddd_8_16_qdd_16_8_long_32_16_long,\ | |
1096 | cortex_a15_neon_mla_qqq_8_16,\ | |
1097 | cortex_a15_neon_fp_vadd_ddd_vabs_dd,\ | |
1098 | cortex_a15_neon_fp_vadd_qqq_vabs_qq,\ | |
1099 | cortex_a15_neon_fp_vmla_ddd,\ | |
1100 | cortex_a15_neon_fp_vmla_qqq,\ | |
1101 | cortex_a15_neon_fp_vrecps_vrsqrts_ddd,\ | |
1102 | cortex_a15_neon_fp_vrecps_vrsqrts_qqq") | |
1103 | ||
1104 | (define_bypass 6 "cortex_a15_neon_vaba" | |
1105 | "cortex_a15_neon_int_1,\ | |
1106 | cortex_a15_neon_int_4,\ | |
1107 | cortex_a15_neon_mul_ddd_8_16_qdd_16_8_long_32_16_long,\ | |
1108 | cortex_a15_neon_mul_qqq_8_16_32_ddd_32,\ | |
1109 | cortex_a15_neon_mla_ddd_8_16_qdd_16_8_long_32_16_long,\ | |
1110 | cortex_a15_neon_mla_qqq_8_16,\ | |
1111 | cortex_a15_neon_fp_vadd_ddd_vabs_dd,\ | |
1112 | cortex_a15_neon_fp_vadd_qqq_vabs_qq,\ | |
1113 | cortex_a15_neon_fp_vmla_ddd,\ | |
1114 | cortex_a15_neon_fp_vmla_qqq,\ | |
1115 | cortex_a15_neon_fp_vrecps_vrsqrts_ddd,\ | |
1116 | cortex_a15_neon_fp_vrecps_vrsqrts_qqq") | |
1117 | ||
1118 | (define_bypass 4 "cortex_a15_neon_vmov" | |
1119 | "cortex_a15_neon_int_1,\ | |
1120 | cortex_a15_neon_int_4,\ | |
1121 | cortex_a15_neon_mul_ddd_8_16_qdd_16_8_long_32_16_long,\ | |
1122 | cortex_a15_neon_mul_qqq_8_16_32_ddd_32,\ | |
1123 | cortex_a15_neon_mla_ddd_8_16_qdd_16_8_long_32_16_long,\ | |
1124 | cortex_a15_neon_mla_qqq_8_16,\ | |
1125 | cortex_a15_neon_fp_vadd_ddd_vabs_dd,\ | |
1126 | cortex_a15_neon_fp_vadd_qqq_vabs_qq,\ | |
1127 | cortex_a15_neon_fp_vmla_ddd,\ | |
1128 | cortex_a15_neon_fp_vmla_qqq,\ | |
1129 | cortex_a15_neon_fp_vrecps_vrsqrts_ddd,\ | |
1130 | cortex_a15_neon_fp_vrecps_vrsqrts_qqq") | |
1131 | ||
1132 | (define_bypass 4 "cortex_a15_neon_vqneg_vqabs" | |
1133 | "cortex_a15_neon_int_1,\ | |
1134 | cortex_a15_neon_int_4,\ | |
1135 | cortex_a15_neon_mul_ddd_8_16_qdd_16_8_long_32_16_long,\ | |
1136 | cortex_a15_neon_mul_qqq_8_16_32_ddd_32,\ | |
1137 | cortex_a15_neon_mla_ddd_8_16_qdd_16_8_long_32_16_long,\ | |
1138 | cortex_a15_neon_mla_qqq_8_16,\ | |
1139 | cortex_a15_neon_fp_vadd_ddd_vabs_dd,\ | |
1140 | cortex_a15_neon_fp_vadd_qqq_vabs_qq,\ | |
1141 | cortex_a15_neon_fp_vmla_ddd,\ | |
1142 | cortex_a15_neon_fp_vmla_qqq,\ | |
1143 | cortex_a15_neon_fp_vrecps_vrsqrts_ddd,\ | |
1144 | cortex_a15_neon_fp_vrecps_vrsqrts_qqq") | |
1145 | ||
1146 | (define_bypass 4 "cortex_a15_neon_int_5" | |
1147 | "cortex_a15_neon_int_1,\ | |
1148 | cortex_a15_neon_int_4,\ | |
1149 | cortex_a15_neon_mul_ddd_8_16_qdd_16_8_long_32_16_long,\ | |
1150 | cortex_a15_neon_mul_qqq_8_16_32_ddd_32,\ | |
1151 | cortex_a15_neon_mla_ddd_8_16_qdd_16_8_long_32_16_long,\ | |
1152 | cortex_a15_neon_mla_qqq_8_16,\ | |
1153 | cortex_a15_neon_fp_vadd_ddd_vabs_dd,\ | |
1154 | cortex_a15_neon_fp_vadd_qqq_vabs_qq,\ | |
1155 | cortex_a15_neon_fp_vmla_ddd,\ | |
1156 | cortex_a15_neon_fp_vmla_qqq,\ | |
1157 | cortex_a15_neon_fp_vrecps_vrsqrts_ddd,\ | |
1158 | cortex_a15_neon_fp_vrecps_vrsqrts_qqq") | |
1159 | ||
1160 | (define_bypass 4 "cortex_a15_neon_int_4" | |
1161 | "cortex_a15_neon_int_1,\ | |
1162 | cortex_a15_neon_int_4,\ | |
1163 | cortex_a15_neon_mul_ddd_8_16_qdd_16_8_long_32_16_long,\ | |
1164 | cortex_a15_neon_mul_qqq_8_16_32_ddd_32,\ | |
1165 | cortex_a15_neon_mla_ddd_8_16_qdd_16_8_long_32_16_long,\ | |
1166 | cortex_a15_neon_mla_qqq_8_16,\ | |
1167 | cortex_a15_neon_fp_vadd_ddd_vabs_dd,\ | |
1168 | cortex_a15_neon_fp_vadd_qqq_vabs_qq,\ | |
1169 | cortex_a15_neon_fp_vmla_ddd,\ | |
1170 | cortex_a15_neon_fp_vmla_qqq,\ | |
1171 | cortex_a15_neon_fp_vrecps_vrsqrts_ddd,\ | |
1172 | cortex_a15_neon_fp_vrecps_vrsqrts_qqq") | |
1173 | ||
1174 | (define_bypass 4 "cortex_a15_neon_int_3" | |
1175 | "cortex_a15_neon_int_1,\ | |
1176 | cortex_a15_neon_int_4,\ | |
1177 | cortex_a15_neon_mul_ddd_8_16_qdd_16_8_long_32_16_long,\ | |
1178 | cortex_a15_neon_mul_qqq_8_16_32_ddd_32,\ | |
1179 | cortex_a15_neon_mla_ddd_8_16_qdd_16_8_long_32_16_long,\ | |
1180 | cortex_a15_neon_mla_qqq_8_16,\ | |
1181 | cortex_a15_neon_fp_vadd_ddd_vabs_dd,\ | |
1182 | cortex_a15_neon_fp_vadd_qqq_vabs_qq,\ | |
1183 | cortex_a15_neon_fp_vmla_ddd,\ | |
1184 | cortex_a15_neon_fp_vmla_qqq,\ | |
1185 | cortex_a15_neon_fp_vrecps_vrsqrts_ddd,\ | |
1186 | cortex_a15_neon_fp_vrecps_vrsqrts_qqq") | |
1187 | ||
1188 | (define_bypass 4 "cortex_a15_neon_int_2" | |
1189 | "cortex_a15_neon_int_1,\ | |
1190 | cortex_a15_neon_int_4,\ | |
1191 | cortex_a15_neon_mul_ddd_8_16_qdd_16_8_long_32_16_long,\ | |
1192 | cortex_a15_neon_mul_qqq_8_16_32_ddd_32,\ | |
1193 | cortex_a15_neon_mla_ddd_8_16_qdd_16_8_long_32_16_long,\ | |
1194 | cortex_a15_neon_mla_qqq_8_16,\ | |
1195 | cortex_a15_neon_fp_vadd_ddd_vabs_dd,\ | |
1196 | cortex_a15_neon_fp_vadd_qqq_vabs_qq,\ | |
1197 | cortex_a15_neon_fp_vmla_ddd,\ | |
1198 | cortex_a15_neon_fp_vmla_qqq,\ | |
1199 | cortex_a15_neon_fp_vrecps_vrsqrts_ddd,\ | |
1200 | cortex_a15_neon_fp_vrecps_vrsqrts_qqq") | |
1201 | ||
1202 | (define_bypass 4 "cortex_a15_neon_int_1" | |
1203 | "cortex_a15_neon_int_1,\ | |
1204 | cortex_a15_neon_int_4,\ | |
1205 | cortex_a15_neon_mul_ddd_8_16_qdd_16_8_long_32_16_long,\ | |
1206 | cortex_a15_neon_mul_qqq_8_16_32_ddd_32,\ | |
1207 | cortex_a15_neon_mla_ddd_8_16_qdd_16_8_long_32_16_long,\ | |
1208 | cortex_a15_neon_mla_qqq_8_16,\ | |
1209 | cortex_a15_neon_fp_vadd_ddd_vabs_dd,\ | |
1210 | cortex_a15_neon_fp_vadd_qqq_vabs_qq,\ | |
1211 | cortex_a15_neon_fp_vmla_ddd,\ | |
1212 | cortex_a15_neon_fp_vmla_qqq,\ | |
1213 | cortex_a15_neon_fp_vrecps_vrsqrts_ddd,\ | |
1214 | cortex_a15_neon_fp_vrecps_vrsqrts_qqq") | |
1215 |