]>
Commit | Line | Data |
---|---|---|
a92ffb3e RE |
1 | # CPU, FPU and architecture specifications for ARM. |
2 | # | |
3 | # Copyright (C) 2011-2017 Free Software Foundation, Inc. | |
4 | # | |
5 | # This file is part of GCC. | |
6 | # | |
7 | # GCC is free software; you can redistribute it and/or modify it under | |
8 | # the terms of the GNU General Public License as published by the Free | |
9 | # Software Foundation; either version 3, or (at your option) any later | |
10 | # version. | |
11 | # | |
12 | # GCC is distributed in the hope that it will be useful, but WITHOUT ANY | |
13 | # WARRANTY; without even the implied warranty of MERCHANTABILITY or | |
14 | # FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License | |
15 | # for more details. | |
16 | # | |
17 | # You should have received a copy of the GNU General Public License | |
18 | # along with GCC; see the file COPYING3. If not see | |
19 | # <http://www.gnu.org/licenses/>. | |
20 | ||
21 | # This file describes all the various CPUs, FPUs and architectures supported | |
22 | # by the compiler. It is pre-processed by parsecpu.awk for a number of | |
23 | # purposes. | |
24 | # | |
25 | # The general form is a sequence of begin..end blocks with the following | |
26 | # syntax: | |
27 | # begin <object-type> <name> | |
28 | # attribute-statement* | |
29 | # end <object-type> <name> | |
30 | # | |
31 | # where object type is one of "cpu" "arch" "fpu". Each object type has | |
32 | # a specific set of permitted attributes, some of which are optional; further | |
33 | # details can be found below. | |
34 | # | |
35 | # Some objects cross-reference other objects by name. Objects are permitted | |
36 | # in any order and it is not necessary to place a cross-referenced object | |
37 | # earlier in the file. | |
38 | # | |
39 | # The object names for cpu, arch and fpu objects are used for the public option | |
40 | # names in the final compiler. The order within each group is preserved and | |
41 | # forms the order for the list within the compiler. | |
42 | ||
43 | # Architecture entries | |
44 | # format: | |
45 | # begin arch <name> | |
46 | # tune for <cpu> | |
47 | # [tune flags <list>] | |
48 | # base <name> | |
49 | # isa <isa-flags-list> | |
50 | # end arch <name> | |
51 | # | |
52 | ||
53 | begin arch armv2 | |
54 | tune for arm2 | |
55 | tune flags CO_PROC NO_MODE32 | |
56 | base 2 | |
57 | isa ARMv2 bit_mode26 | |
58 | end arch armv2 | |
59 | ||
60 | begin arch armv2a | |
61 | tune for arm2 | |
62 | tune flags CO_PROC NO_MODE32 | |
63 | base 2 | |
64 | isa ARMv2 bit_mode26 | |
65 | end arch armv2a | |
66 | ||
67 | begin arch armv3 | |
68 | tune for arm6 | |
69 | tune flags CO_PROC | |
70 | base 3 | |
71 | isa ARMv3 bit_mode26 | |
72 | end arch armv3 | |
73 | ||
74 | begin arch armv3m | |
75 | tune for arm7m | |
76 | tune flags CO_PROC | |
77 | base 3M | |
78 | isa ARMv3m bit_mode26 | |
79 | end arch armv3m | |
80 | ||
81 | begin arch armv4 | |
82 | tune for arm7tdmi | |
83 | tune flags CO_PROC | |
84 | base 4 | |
85 | isa ARMv4 bit_mode26 | |
86 | end arch armv4 | |
87 | ||
88 | # Strictly, bit_mode26 is a permitted option for v4t, but there are no | |
89 | # implementations that support it, so we will leave it out for now. | |
90 | begin arch armv4t | |
91 | tune for arm7tdmi | |
92 | tune flags CO_PROC | |
93 | base 4T | |
94 | isa ARMv4t | |
95 | end arch armv4t | |
96 | ||
97 | begin arch armv5 | |
98 | tune for arm10tdmi | |
99 | tune flags CO_PROC | |
100 | base 5 | |
101 | isa ARMv5 | |
102 | end arch armv5 | |
103 | ||
104 | begin arch armv5t | |
105 | tune for arm10tdmi | |
106 | tune flags CO_PROC | |
107 | base 5T | |
108 | isa ARMv5t | |
109 | end arch armv5t | |
110 | ||
111 | begin arch armv5e | |
112 | tune for arm1026ej-s | |
113 | tune flags CO_PROC | |
114 | base 5E | |
115 | isa ARMv5e | |
116 | end arch armv5e | |
117 | ||
118 | begin arch armv5te | |
119 | tune for arm1026ej-s | |
120 | tune flags CO_PROC | |
121 | base 5TE | |
122 | isa ARMv5te | |
123 | end arch armv5te | |
124 | ||
125 | begin arch armv5tej | |
126 | tune for arm1026ej-s | |
127 | tune flags CO_PROC | |
128 | base 5TEJ | |
129 | isa ARMv5tej | |
130 | end arch armv5tej | |
131 | ||
132 | begin arch armv6 | |
133 | tune for arm1136j-s | |
134 | tune flags CO_PROC | |
135 | base 6 | |
136 | isa ARMv6 | |
137 | end arch armv6 | |
138 | ||
139 | begin arch armv6j | |
140 | tune for arm1136j-s | |
141 | tune flags CO_PROC | |
142 | base 6J | |
143 | isa ARMv6j | |
144 | end arch armv6j | |
145 | ||
146 | begin arch armv6k | |
147 | tune for mpcore | |
148 | tune flags CO_PROC | |
149 | base 6K | |
150 | isa ARMv6k | |
151 | end arch armv6k | |
152 | ||
153 | begin arch armv6z | |
154 | tune for arm1176jz-s | |
155 | tune flags CO_PROC | |
156 | base 6Z | |
157 | isa ARMv6z | |
158 | end arch armv6z | |
159 | ||
160 | begin arch armv6kz | |
161 | tune for arm1176jz-s | |
162 | tune flags CO_PROC | |
163 | base 6KZ | |
164 | isa ARMv6kz | |
165 | end arch armv6kz | |
166 | ||
167 | begin arch armv6zk | |
168 | tune for arm1176jz-s | |
169 | tune flags CO_PROC | |
170 | base 6KZ | |
171 | isa ARMv6kz | |
172 | end arch armv6zk | |
173 | ||
174 | begin arch armv6t2 | |
175 | tune for arm1156t2-s | |
176 | tune flags CO_PROC | |
177 | base 6T2 | |
178 | isa ARMv6t2 | |
179 | end arch armv6t2 | |
180 | ||
181 | begin arch armv6-m | |
182 | tune for cortex-m1 | |
183 | base 6M | |
184 | isa ARMv6m | |
185 | end arch armv6-m | |
186 | ||
187 | begin arch armv6s-m | |
188 | tune for cortex-m1 | |
189 | base 6M | |
190 | isa ARMv6m | |
191 | end arch armv6s-m | |
192 | ||
193 | begin arch armv7 | |
194 | tune for cortex-a8 | |
195 | tune flags CO_PROC | |
196 | base 7 | |
197 | isa ARMv7 | |
198 | end arch armv7 | |
199 | ||
200 | begin arch armv7-a | |
201 | tune for cortex-a8 | |
202 | tune flags CO_PROC | |
203 | base 7A | |
204 | isa ARMv7a | |
205 | end arch armv7-a | |
206 | ||
207 | begin arch armv7ve | |
208 | tune for cortex-a8 | |
209 | tune flags CO_PROC | |
210 | base 7A | |
211 | isa ARMv7ve | |
212 | end arch armv7ve | |
213 | ||
214 | begin arch armv7-r | |
215 | tune for cortex-r4 | |
216 | tune flags CO_PROC | |
217 | base 7R | |
218 | isa ARMv7r | |
219 | end arch armv7-r | |
220 | ||
221 | begin arch armv7-m | |
222 | tune for cortex-m3 | |
223 | tune flags CO_PROC | |
224 | base 7M | |
225 | isa ARMv7m | |
226 | end arch armv7-m | |
227 | ||
228 | begin arch armv7e-m | |
229 | tune for cortex-m4 | |
230 | tune flags CO_PROC | |
231 | base 7EM | |
232 | isa ARMv7em | |
233 | end arch armv7e-m | |
234 | ||
235 | begin arch armv8-a | |
236 | tune for cortex-a53 | |
237 | tune flags CO_PROC | |
238 | base 8A | |
239 | isa ARMv8a | |
240 | end arch armv8-a | |
241 | ||
242 | begin arch armv8-a+crc | |
243 | tune for cortex-a53 | |
244 | tune flags CO_PROC | |
245 | base 8A | |
246 | isa ARMv8a bit_crc32 | |
247 | end arch armv8-a+crc | |
248 | ||
249 | begin arch armv8.1-a | |
250 | tune for cortex-a53 | |
251 | tune flags CO_PROC | |
252 | base 8A | |
253 | isa ARMv8_1a | |
254 | end arch armv8.1-a | |
255 | ||
256 | begin arch armv8.2-a | |
257 | tune for cortex-a53 | |
258 | tune flags CO_PROC | |
259 | base 8A | |
260 | isa ARMv8_2a | |
261 | end arch armv8.2-a | |
262 | ||
263 | begin arch armv8.2-a+fp16 | |
264 | tune for cortex-a53 | |
265 | tune flags CO_PROC | |
266 | base 8A | |
267 | isa ARMv8_2a bit_fp16 | |
268 | end arch armv8.2-a+fp16 | |
269 | ||
270 | begin arch armv8-m.base | |
271 | tune for cortex-m23 | |
272 | base 8M_BASE | |
273 | isa ARMv8m_base | |
274 | end arch armv8-m.base | |
275 | ||
276 | begin arch armv8-m.main | |
277 | tune for cortex-m7 | |
278 | tune flags CO_PROC | |
279 | base 8M_MAIN | |
280 | isa ARMv8m_main | |
281 | end arch armv8-m.main | |
282 | ||
283 | begin arch armv8-m.main+dsp | |
284 | tune for cortex-m33 | |
285 | tune flags CO_PROC | |
286 | base 8M_MAIN | |
287 | isa ARMv8m_main bit_ARMv7em | |
288 | end arch armv8-m.main+dsp | |
289 | ||
290 | begin arch iwmmxt | |
291 | tune for iwmmxt | |
292 | tune flags LDSCHED STRONG XSCALE | |
293 | base 5TE | |
294 | isa ARMv5te bit_xscale bit_iwmmxt | |
295 | end arch iwmmxt | |
296 | ||
297 | begin arch iwmmxt2 | |
298 | tune for iwmmxt2 | |
299 | tune flags LDSCHED STRONG XSCALE | |
300 | base 5TE | |
301 | isa ARMv5te bit_xscale bit_iwmmxt bit_iwmmxt2 | |
302 | end arch iwmmxt2 | |
303 | ||
304 | # CPU entries | |
305 | # format: | |
306 | # begin cpu <name> | |
307 | # [cname <c-compatible-name>] | |
308 | # [tune for <cpu-name>] | |
309 | # [tune flags <list>] | |
310 | # architecture <name> | |
311 | # [fpu <name>] | |
312 | # [isa <additional-isa-flags-list>] | |
313 | # [costs <name>] | |
314 | # end cpu <name> | |
315 | # | |
316 | # If omitted, cname is formed from transforming the cpuname to convert | |
317 | # non-valid punctuation characters to '_'. | |
318 | # If specified, tune for specifies a CPU target to use for tuning this core. | |
319 | # isa flags are appended to those defined by the architecture. | |
320 | ||
321 | ||
322 | # V2/V2A Architecture Processors | |
323 | begin cpu arm2 | |
324 | tune flags CO_PROC NO_MODE32 | |
325 | architecture armv2 | |
326 | costs slowmul | |
327 | end cpu arm2 | |
328 | ||
329 | begin cpu arm250 | |
330 | tune flags CO_PROC NO_MODE32 | |
331 | architecture armv2 | |
332 | costs slowmul | |
333 | end cpu arm250 | |
334 | ||
335 | begin cpu arm3 | |
336 | tune flags CO_PROC NO_MODE32 | |
337 | architecture armv2 | |
338 | costs slowmul | |
339 | end cpu arm3 | |
340 | ||
341 | ||
342 | # V3 Architecture Processors | |
343 | begin cpu arm6 | |
344 | tune flags CO_PROC | |
345 | architecture armv3 | |
346 | costs slowmul | |
347 | end cpu arm6 | |
348 | ||
349 | begin cpu arm60 | |
350 | tune flags CO_PROC | |
351 | architecture armv3 | |
352 | costs slowmul | |
353 | end cpu arm60 | |
354 | ||
355 | begin cpu arm600 | |
356 | tune flags CO_PROC WBUF | |
357 | architecture armv3 | |
358 | costs slowmul | |
359 | end cpu arm600 | |
360 | ||
361 | begin cpu arm610 | |
362 | tune flags WBUF | |
363 | architecture armv3 | |
364 | costs slowmul | |
365 | end cpu arm610 | |
366 | ||
367 | begin cpu arm620 | |
368 | tune flags CO_PROC WBUF | |
369 | architecture armv3 | |
370 | costs slowmul | |
371 | end cpu arm620 | |
372 | ||
373 | begin cpu arm7 | |
374 | tune flags CO_PROC | |
375 | architecture armv3 | |
376 | costs slowmul | |
377 | end cpu arm7 | |
378 | ||
379 | begin cpu arm7d | |
380 | tune flags CO_PROC | |
381 | architecture armv3 | |
382 | costs slowmul | |
383 | end cpu arm7d | |
384 | ||
385 | begin cpu arm7di | |
386 | tune flags CO_PROC | |
387 | architecture armv3 | |
388 | costs slowmul | |
389 | end cpu arm7di | |
390 | ||
391 | begin cpu arm70 | |
392 | tune flags CO_PROC | |
393 | architecture armv3 | |
394 | costs slowmul | |
395 | end cpu arm70 | |
396 | ||
397 | begin cpu arm700 | |
398 | tune flags CO_PROC WBUF | |
399 | architecture armv3 | |
400 | costs slowmul | |
401 | end cpu arm700 | |
402 | ||
403 | begin cpu arm700i | |
404 | tune flags CO_PROC WBUF | |
405 | architecture armv3 | |
406 | costs slowmul | |
407 | end cpu arm700i | |
408 | ||
409 | begin cpu arm710 | |
410 | tune flags WBUF | |
411 | architecture armv3 | |
412 | costs slowmul | |
413 | end cpu arm710 | |
414 | ||
415 | begin cpu arm720 | |
416 | tune flags WBUF | |
417 | architecture armv3 | |
418 | costs slowmul | |
419 | end cpu arm720 | |
420 | ||
421 | begin cpu arm710c | |
422 | tune flags WBUF | |
423 | architecture armv3 | |
424 | costs slowmul | |
425 | end cpu arm710c | |
426 | ||
427 | begin cpu arm7100 | |
428 | tune flags WBUF | |
429 | architecture armv3 | |
430 | costs slowmul | |
431 | end cpu arm7100 | |
432 | ||
433 | begin cpu arm7500 | |
434 | tune flags WBUF | |
435 | architecture armv3 | |
436 | costs slowmul | |
437 | end cpu arm7500 | |
438 | ||
439 | # Doesn't have an external co-proc, but does have embedded FPA | |
440 | # (the FPA part is no-longer supported). | |
441 | begin cpu arm7500fe | |
442 | tune flags CO_PROC WBUF | |
443 | architecture armv3 | |
444 | costs slowmul | |
445 | end cpu arm7500fe | |
446 | ||
447 | ||
448 | # V3M Architecture Processors | |
449 | # arm7m doesn't exist on its own, but only with "D", (and "I"), but | |
450 | # those don't alter the code, so arm7m is sometimes used. | |
451 | begin cpu arm7m | |
452 | tune flags CO_PROC | |
453 | architecture armv3m | |
454 | costs fastmul | |
455 | end cpu arm7m | |
456 | ||
457 | begin cpu arm7dm | |
458 | tune flags CO_PROC | |
459 | architecture armv3m | |
460 | costs fastmul | |
461 | end cpu arm7dm | |
462 | ||
463 | begin cpu arm7dmi | |
464 | tune flags CO_PROC | |
465 | architecture armv3m | |
466 | costs fastmul | |
467 | end cpu arm7dmi | |
468 | ||
469 | ||
470 | # V4 Architecture Processors | |
471 | begin cpu arm8 | |
472 | tune flags LDSCHED | |
473 | architecture armv4 | |
474 | costs fastmul | |
475 | end cpu arm8 | |
476 | ||
477 | begin cpu arm810 | |
478 | tune flags LDSCHED | |
479 | architecture armv4 | |
480 | costs fastmul | |
481 | end cpu arm810 | |
482 | ||
483 | begin cpu strongarm | |
484 | tune flags LDSCHED STRONG | |
485 | architecture armv4 | |
486 | costs strongarm | |
487 | end cpu strongarm | |
488 | ||
489 | begin cpu strongarm110 | |
490 | tune flags LDSCHED STRONG | |
491 | architecture armv4 | |
492 | costs strongarm | |
493 | end cpu strongarm110 | |
494 | ||
495 | begin cpu strongarm1100 | |
496 | tune flags LDSCHED STRONG | |
497 | architecture armv4 | |
498 | costs strongarm | |
499 | end cpu strongarm1100 | |
500 | ||
501 | begin cpu strongarm1110 | |
502 | tune flags LDSCHED STRONG | |
503 | architecture armv4 | |
504 | costs strongarm | |
505 | end cpu strongarm1110 | |
506 | ||
507 | begin cpu fa526 | |
508 | tune flags LDSCHED | |
509 | architecture armv4 | |
510 | costs fastmul | |
511 | end cpu fa526 | |
512 | ||
513 | begin cpu fa626 | |
514 | tune flags LDSCHED | |
515 | architecture armv4 | |
516 | costs fastmul | |
517 | end cpu fa626 | |
518 | ||
519 | ||
520 | # V4T Architecture Processors | |
521 | begin cpu arm7tdmi | |
522 | tune flags CO_PROC | |
523 | architecture armv4t | |
524 | costs fastmul | |
525 | end cpu arm7tdmi | |
526 | ||
527 | begin cpu arm7tdmi-s | |
528 | cname arm7tdmis | |
529 | tune flags CO_PROC | |
530 | architecture armv4t | |
531 | costs fastmul | |
532 | end cpu arm7tdmi-s | |
533 | ||
534 | begin cpu arm710t | |
535 | tune flags WBUF | |
536 | architecture armv4t | |
537 | costs fastmul | |
538 | end cpu arm710t | |
539 | ||
540 | begin cpu arm720t | |
541 | tune flags WBUF | |
542 | architecture armv4t | |
543 | costs fastmul | |
544 | end cpu arm720t | |
545 | ||
546 | begin cpu arm740t | |
547 | tune flags WBUF | |
548 | architecture armv4t | |
549 | costs fastmul | |
550 | end cpu arm740t | |
551 | ||
552 | begin cpu arm9 | |
553 | tune flags LDSCHED | |
554 | architecture armv4t | |
555 | costs fastmul | |
556 | end cpu arm9 | |
557 | ||
558 | begin cpu arm9tdmi | |
559 | tune flags LDSCHED | |
560 | architecture armv4t | |
561 | costs fastmul | |
562 | end cpu arm9tdmi | |
563 | ||
564 | begin cpu arm920 | |
565 | tune flags LDSCHED | |
566 | architecture armv4t | |
567 | costs fastmul | |
568 | end cpu arm920 | |
569 | ||
570 | begin cpu arm920t | |
571 | tune flags LDSCHED | |
572 | architecture armv4t | |
573 | costs fastmul | |
574 | end cpu arm920t | |
575 | ||
576 | begin cpu arm922t | |
577 | tune flags LDSCHED | |
578 | architecture armv4t | |
579 | costs fastmul | |
580 | end cpu arm922t | |
581 | ||
582 | begin cpu arm940t | |
583 | tune flags LDSCHED | |
584 | architecture armv4t | |
585 | costs fastmul | |
586 | end cpu arm940t | |
587 | ||
588 | begin cpu ep9312 | |
589 | tune flags LDSCHED | |
590 | architecture armv4t | |
591 | costs fastmul | |
592 | end cpu ep9312 | |
593 | ||
594 | ||
595 | # V5T Architecture Processors | |
596 | begin cpu arm10tdmi | |
597 | tune flags LDSCHED | |
598 | architecture armv5t | |
599 | costs fastmul | |
600 | end cpu arm10tdmi | |
601 | ||
602 | begin cpu arm1020t | |
603 | tune flags LDSCHED | |
604 | architecture armv5t | |
605 | costs fastmul | |
606 | end cpu arm1020t | |
607 | ||
608 | ||
609 | # V5TE Architecture Processors | |
610 | begin cpu arm9e | |
611 | tune flags LDSCHED | |
612 | architecture armv5te | |
613 | costs 9e | |
614 | end cpu arm9e | |
615 | ||
616 | begin cpu arm946e-s | |
617 | cname arm946es | |
618 | tune flags LDSCHED | |
619 | architecture armv5te | |
620 | costs 9e | |
621 | end cpu arm946e-s | |
622 | ||
623 | begin cpu arm966e-s | |
624 | cname arm966es | |
625 | tune flags LDSCHED | |
626 | architecture armv5te | |
627 | costs 9e | |
628 | end cpu arm966e-s | |
629 | ||
630 | begin cpu arm968e-s | |
631 | cname arm968es | |
632 | tune flags LDSCHED | |
633 | architecture armv5te | |
634 | costs 9e | |
635 | end cpu arm968e-s | |
636 | ||
637 | begin cpu arm10e | |
638 | tune flags LDSCHED | |
639 | architecture armv5te | |
640 | costs fastmul | |
641 | end cpu arm10e | |
642 | ||
643 | begin cpu arm1020e | |
644 | tune flags LDSCHED | |
645 | architecture armv5te | |
646 | costs fastmul | |
647 | end cpu arm1020e | |
648 | ||
649 | begin cpu arm1022e | |
650 | tune flags LDSCHED | |
651 | architecture armv5te | |
652 | costs fastmul | |
653 | end cpu arm1022e | |
654 | ||
655 | begin cpu xscale | |
656 | tune flags LDSCHED XSCALE | |
657 | architecture armv5te | |
658 | isa bit_xscale | |
659 | costs xscale | |
660 | end cpu xscale | |
661 | ||
662 | begin cpu iwmmxt | |
663 | tune flags LDSCHED XSCALE | |
664 | architecture iwmmxt | |
665 | costs xscale | |
666 | end cpu iwmmxt | |
667 | ||
668 | begin cpu iwmmxt2 | |
669 | tune flags LDSCHED XSCALE | |
670 | architecture iwmmxt2 | |
671 | costs xscale | |
672 | end cpu iwmmxt2 | |
673 | ||
674 | begin cpu fa606te | |
675 | tune flags LDSCHED | |
676 | architecture armv5te | |
677 | costs 9e | |
678 | end cpu fa606te | |
679 | ||
680 | begin cpu fa626te | |
681 | tune flags LDSCHED | |
682 | architecture armv5te | |
683 | costs 9e | |
684 | end cpu fa626te | |
685 | ||
686 | begin cpu fmp626 | |
687 | tune flags LDSCHED | |
688 | architecture armv5te | |
689 | costs 9e | |
690 | end cpu fmp626 | |
691 | ||
692 | begin cpu fa726te | |
693 | tune flags LDSCHED | |
694 | architecture armv5te | |
695 | costs fa726te | |
696 | end cpu fa726te | |
697 | ||
698 | ||
699 | # V5TEJ Architecture Processors | |
700 | begin cpu arm926ej-s | |
701 | cname arm926ejs | |
702 | tune flags LDSCHED | |
703 | architecture armv5tej | |
704 | costs 9e | |
705 | end cpu arm926ej-s | |
706 | ||
707 | begin cpu arm1026ej-s | |
708 | cname arm1026ejs | |
709 | tune flags LDSCHED | |
710 | architecture armv5tej | |
711 | costs 9e | |
712 | end cpu arm1026ej-s | |
713 | ||
714 | ||
715 | # V6 Architecture Processors | |
716 | begin cpu arm1136j-s | |
717 | cname arm1136js | |
718 | tune flags LDSCHED | |
719 | architecture armv6j | |
720 | costs 9e | |
721 | end cpu arm1136j-s | |
722 | ||
723 | begin cpu arm1136jf-s | |
724 | cname arm1136jfs | |
725 | tune flags LDSCHED | |
726 | architecture armv6j | |
727 | fpu vfpv2 | |
728 | costs 9e | |
729 | end cpu arm1136jf-s | |
730 | ||
731 | begin cpu arm1176jz-s | |
732 | cname arm1176jzs | |
733 | tune flags LDSCHED | |
734 | architecture armv6kz | |
735 | costs 9e | |
736 | end cpu arm1176jz-s | |
737 | ||
738 | begin cpu arm1176jzf-s | |
739 | cname arm1176jzfs | |
740 | tune flags LDSCHED | |
741 | architecture armv6kz | |
742 | fpu vfpv2 | |
743 | costs 9e | |
744 | end cpu arm1176jzf-s | |
745 | ||
746 | begin cpu mpcorenovfp | |
747 | tune flags LDSCHED | |
748 | architecture armv6k | |
749 | costs 9e | |
750 | end cpu mpcorenovfp | |
751 | ||
752 | begin cpu mpcore | |
753 | tune flags LDSCHED | |
754 | architecture armv6k | |
755 | fpu vfpv2 | |
756 | costs 9e | |
757 | end cpu mpcore | |
758 | ||
759 | begin cpu arm1156t2-s | |
760 | cname arm1156t2s | |
761 | tune flags LDSCHED | |
762 | architecture armv6t2 | |
763 | costs v6t2 | |
764 | end cpu arm1156t2-s | |
765 | ||
766 | begin cpu arm1156t2f-s | |
767 | cname arm1156t2fs | |
768 | tune flags LDSCHED | |
769 | architecture armv6t2 | |
770 | fpu vfpv2 | |
771 | costs v6t2 | |
772 | end cpu arm1156t2f-s | |
773 | ||
774 | ||
775 | # V6M Architecture Processors | |
776 | begin cpu cortex-m1 | |
777 | cname cortexm1 | |
778 | tune flags LDSCHED | |
779 | architecture armv6-m | |
780 | costs v6m | |
781 | end cpu cortex-m1 | |
782 | ||
783 | begin cpu cortex-m0 | |
784 | cname cortexm0 | |
785 | tune flags LDSCHED | |
786 | architecture armv6-m | |
787 | costs v6m | |
788 | end cpu cortex-m0 | |
789 | ||
790 | begin cpu cortex-m0plus | |
791 | cname cortexm0plus | |
792 | tune flags LDSCHED | |
793 | architecture armv6-m | |
794 | costs v6m | |
795 | end cpu cortex-m0plus | |
796 | ||
797 | ||
798 | # V6M Architecture Processors for small-multiply implementations. | |
799 | begin cpu cortex-m1.small-multiply | |
800 | cname cortexm1smallmultiply | |
801 | tune for cortex-m1 | |
802 | tune flags LDSCHED SMALLMUL | |
803 | architecture armv6-m | |
804 | costs v6m | |
805 | end cpu cortex-m1.small-multiply | |
806 | ||
807 | begin cpu cortex-m0.small-multiply | |
808 | cname cortexm0smallmultiply | |
809 | tune for cortex-m0 | |
810 | tune flags LDSCHED SMALLMUL | |
811 | architecture armv6-m | |
812 | costs v6m | |
813 | end cpu cortex-m0.small-multiply | |
814 | ||
815 | begin cpu cortex-m0plus.small-multiply | |
816 | cname cortexm0plussmallmultiply | |
48c0758a | 817 | tune for cortex-m0plus |
a92ffb3e RE |
818 | tune flags LDSCHED SMALLMUL |
819 | architecture armv6-m | |
820 | costs v6m | |
821 | end cpu cortex-m0plus.small-multiply | |
822 | ||
823 | ||
824 | # V7 Architecture Processors | |
825 | begin cpu generic-armv7-a | |
826 | cname genericv7a | |
827 | tune flags LDSCHED | |
828 | architecture armv7-a | |
829 | costs cortex | |
830 | end cpu generic-armv7-a | |
831 | ||
832 | begin cpu cortex-a5 | |
833 | cname cortexa5 | |
834 | tune flags LDSCHED | |
835 | architecture armv7-a | |
836 | costs cortex_a5 | |
837 | end cpu cortex-a5 | |
838 | ||
839 | begin cpu cortex-a7 | |
840 | cname cortexa7 | |
841 | tune flags LDSCHED | |
842 | architecture armv7ve | |
843 | costs cortex_a7 | |
844 | end cpu cortex-a7 | |
845 | ||
846 | begin cpu cortex-a8 | |
847 | cname cortexa8 | |
848 | tune flags LDSCHED | |
849 | architecture armv7-a | |
850 | costs cortex_a8 | |
851 | end cpu cortex-a8 | |
852 | ||
853 | begin cpu cortex-a9 | |
854 | cname cortexa9 | |
855 | tune flags LDSCHED | |
856 | architecture armv7-a | |
857 | costs cortex_a9 | |
858 | end cpu cortex-a9 | |
859 | ||
860 | begin cpu cortex-a12 | |
861 | cname cortexa12 | |
862 | tune for cortex-a17 | |
863 | tune flags LDSCHED | |
864 | architecture armv7ve | |
865 | costs cortex_a12 | |
866 | end cpu cortex-a12 | |
867 | ||
868 | begin cpu cortex-a15 | |
869 | cname cortexa15 | |
870 | tune flags LDSCHED | |
871 | architecture armv7ve | |
872 | costs cortex_a15 | |
873 | end cpu cortex-a15 | |
874 | ||
875 | begin cpu cortex-a17 | |
876 | cname cortexa17 | |
877 | tune flags LDSCHED | |
878 | architecture armv7ve | |
879 | costs cortex_a12 | |
880 | end cpu cortex-a17 | |
881 | ||
882 | begin cpu cortex-r4 | |
883 | cname cortexr4 | |
884 | tune flags LDSCHED | |
885 | architecture armv7-r | |
886 | costs cortex | |
887 | end cpu cortex-r4 | |
888 | ||
889 | begin cpu cortex-r4f | |
890 | cname cortexr4f | |
891 | tune flags LDSCHED | |
892 | architecture armv7-r | |
893 | costs cortex | |
894 | end cpu cortex-r4f | |
895 | ||
896 | begin cpu cortex-r5 | |
897 | cname cortexr5 | |
898 | tune flags LDSCHED | |
899 | architecture armv7-r | |
900 | isa bit_adiv | |
901 | costs cortex | |
902 | end cpu cortex-r5 | |
903 | ||
904 | begin cpu cortex-r7 | |
905 | cname cortexr7 | |
906 | tune flags LDSCHED | |
907 | architecture armv7-r | |
908 | isa bit_adiv | |
909 | costs cortex | |
910 | end cpu cortex-r7 | |
911 | ||
912 | begin cpu cortex-r8 | |
913 | cname cortexr8 | |
914 | tune for cortex-r7 | |
915 | tune flags LDSCHED | |
916 | architecture armv7-r | |
917 | isa bit_adiv | |
918 | costs cortex | |
919 | end cpu cortex-r8 | |
920 | ||
921 | begin cpu cortex-m7 | |
922 | cname cortexm7 | |
923 | tune flags LDSCHED | |
924 | architecture armv7e-m | |
925 | isa quirk_no_volatile_ce | |
926 | costs cortex_m7 | |
927 | end cpu cortex-m7 | |
928 | ||
929 | begin cpu cortex-m4 | |
930 | cname cortexm4 | |
931 | tune flags LDSCHED | |
932 | architecture armv7e-m | |
933 | costs v7m | |
934 | end cpu cortex-m4 | |
935 | ||
936 | begin cpu cortex-m3 | |
937 | cname cortexm3 | |
938 | tune flags LDSCHED | |
939 | architecture armv7-m | |
940 | isa quirk_cm3_ldrd | |
941 | costs v7m | |
942 | end cpu cortex-m3 | |
943 | ||
944 | begin cpu marvell-pj4 | |
945 | tune flags LDSCHED | |
946 | architecture armv7-a | |
947 | costs marvell_pj4 | |
948 | end cpu marvell-pj4 | |
949 | ||
950 | ||
951 | # V7 big.LITTLE implementations | |
952 | begin cpu cortex-a15.cortex-a7 | |
953 | cname cortexa15cortexa7 | |
954 | tune for cortex-a7 | |
955 | tune flags LDSCHED | |
956 | architecture armv7ve | |
957 | costs cortex_a15 | |
958 | end cpu cortex-a15.cortex-a7 | |
959 | ||
960 | begin cpu cortex-a17.cortex-a7 | |
961 | cname cortexa17cortexa7 | |
962 | tune for cortex-a7 | |
963 | tune flags LDSCHED | |
964 | architecture armv7ve | |
965 | costs cortex_a12 | |
966 | end cpu cortex-a17.cortex-a7 | |
967 | ||
968 | ||
969 | # V8 A-profile Architecture Processors | |
970 | begin cpu cortex-a32 | |
971 | cname cortexa32 | |
972 | tune for cortex-a53 | |
973 | tune flags LDSCHED | |
974 | architecture armv8-a+crc | |
975 | costs cortex_a35 | |
976 | end cpu cortex-a32 | |
977 | ||
978 | begin cpu cortex-a35 | |
979 | cname cortexa35 | |
980 | tune for cortex-a53 | |
981 | tune flags LDSCHED | |
982 | architecture armv8-a+crc | |
983 | costs cortex_a35 | |
984 | end cpu cortex-a35 | |
985 | ||
986 | begin cpu cortex-a53 | |
987 | cname cortexa53 | |
988 | tune flags LDSCHED | |
989 | architecture armv8-a+crc | |
990 | costs cortex_a53 | |
991 | end cpu cortex-a53 | |
992 | ||
993 | begin cpu cortex-a57 | |
994 | cname cortexa57 | |
995 | tune flags LDSCHED | |
996 | architecture armv8-a+crc | |
997 | costs cortex_a57 | |
998 | end cpu cortex-a57 | |
999 | ||
1000 | begin cpu cortex-a72 | |
1001 | cname cortexa72 | |
1002 | tune for cortex-a57 | |
1003 | tune flags LDSCHED | |
1004 | architecture armv8-a+crc | |
1005 | costs cortex_a57 | |
1006 | end cpu cortex-a72 | |
1007 | ||
1008 | begin cpu cortex-a73 | |
1009 | cname cortexa73 | |
1010 | tune for cortex-a57 | |
1011 | tune flags LDSCHED | |
1012 | architecture armv8-a+crc | |
1013 | costs cortex_a73 | |
1014 | end cpu cortex-a73 | |
1015 | ||
1016 | begin cpu exynos-m1 | |
1017 | cname exynosm1 | |
1018 | tune flags LDSCHED | |
1019 | architecture armv8-a+crc | |
1020 | costs exynosm1 | |
1021 | end cpu exynos-m1 | |
1022 | ||
a92ffb3e RE |
1023 | begin cpu xgene1 |
1024 | tune flags LDSCHED | |
1025 | architecture armv8-a | |
1026 | costs xgene1 | |
1027 | end cpu xgene1 | |
1028 | ||
1029 | ||
1030 | # V8 A-profile big.LITTLE implementations | |
1031 | begin cpu cortex-a57.cortex-a53 | |
1032 | cname cortexa57cortexa53 | |
1033 | tune for cortex-a53 | |
1034 | tune flags LDSCHED | |
1035 | architecture armv8-a+crc | |
1036 | costs cortex_a57 | |
1037 | end cpu cortex-a57.cortex-a53 | |
1038 | ||
1039 | begin cpu cortex-a72.cortex-a53 | |
1040 | cname cortexa72cortexa53 | |
1041 | tune for cortex-a53 | |
1042 | tune flags LDSCHED | |
1043 | architecture armv8-a+crc | |
1044 | costs cortex_a57 | |
1045 | end cpu cortex-a72.cortex-a53 | |
1046 | ||
1047 | begin cpu cortex-a73.cortex-a35 | |
1048 | cname cortexa73cortexa35 | |
1049 | tune for cortex-a53 | |
1050 | tune flags LDSCHED | |
1051 | architecture armv8-a+crc | |
1052 | costs cortex_a73 | |
1053 | end cpu cortex-a73.cortex-a35 | |
1054 | ||
1055 | begin cpu cortex-a73.cortex-a53 | |
1056 | cname cortexa73cortexa53 | |
1057 | tune for cortex-a53 | |
1058 | tune flags LDSCHED | |
1059 | architecture armv8-a+crc | |
1060 | costs cortex_a73 | |
1061 | end cpu cortex-a73.cortex-a53 | |
1062 | ||
1063 | ||
1064 | # V8 M-profile implementations. | |
1065 | begin cpu cortex-m23 | |
1066 | cname cortexm23 | |
1067 | tune flags LDSCHED | |
1068 | architecture armv8-m.base | |
1069 | costs v6m | |
1070 | end cpu cortex-m23 | |
1071 | ||
1072 | begin cpu cortex-m33 | |
1073 | cname cortexm33 | |
1074 | tune flags LDSCHED | |
1075 | architecture armv8-m.main+dsp | |
1076 | costs v7m | |
1077 | end cpu cortex-m33 | |
1078 | ||
1079 | # FPU entries | |
1080 | # format: | |
1081 | # begin fpu <name> | |
1082 | # isa <isa-flags-list> | |
1083 | # end fpu <name> | |
1084 | ||
1085 | begin fpu vfp | |
1086 | isa VFPv2 FP_DBL | |
1087 | end fpu vfp | |
1088 | ||
1089 | begin fpu vfpv2 | |
1090 | isa VFPv2 FP_DBL | |
1091 | end fpu vfpv2 | |
1092 | ||
1093 | begin fpu vfpv3 | |
1094 | isa VFPv3 FP_D32 | |
1095 | end fpu vfpv3 | |
1096 | ||
1097 | begin fpu vfpv3-fp16 | |
1098 | isa VFPv3 FP_D32 bit_fp16conv | |
1099 | end fpu vfpv3-fp16 | |
1100 | ||
1101 | begin fpu vfpv3-d16 | |
1102 | isa VFPv3 FP_DBL | |
1103 | end fpu vfpv3-d16 | |
1104 | ||
1105 | begin fpu vfpv3-d16-fp16 | |
1106 | isa VFPv3 FP_DBL bit_fp16conv | |
1107 | end fpu vfpv3-d16-fp16 | |
1108 | ||
1109 | begin fpu vfpv3xd | |
1110 | isa VFPv3 | |
1111 | end fpu vfpv3xd | |
1112 | ||
1113 | begin fpu vfpv3xd-fp16 | |
1114 | isa VFPv3 bit_fp16conv | |
1115 | end fpu vfpv3xd-fp16 | |
1116 | ||
1117 | begin fpu neon | |
1118 | isa VFPv3 NEON | |
1119 | end fpu neon | |
1120 | ||
1121 | begin fpu neon-vfpv3 | |
1122 | isa VFPv3 NEON | |
1123 | end fpu neon-vfpv3 | |
1124 | ||
1125 | begin fpu neon-fp16 | |
1126 | isa VFPv3 NEON bit_fp16conv | |
1127 | end fpu neon-fp16 | |
1128 | ||
1129 | begin fpu vfpv4 | |
1130 | isa VFPv4 FP_D32 | |
1131 | end fpu vfpv4 | |
1132 | ||
1133 | begin fpu neon-vfpv4 | |
1134 | isa VFPv4 NEON | |
1135 | end fpu neon-vfpv4 | |
1136 | ||
1137 | begin fpu vfpv4-d16 | |
1138 | isa VFPv4 FP_DBL | |
1139 | end fpu vfpv4-d16 | |
1140 | ||
1141 | begin fpu fpv4-sp-d16 | |
1142 | isa VFPv4 | |
1143 | end fpu fpv4-sp-d16 | |
1144 | ||
1145 | begin fpu fpv5-sp-d16 | |
1146 | isa FPv5 | |
1147 | end fpu fpv5-sp-d16 | |
1148 | ||
1149 | begin fpu fpv5-d16 | |
1150 | isa FPv5 FP_DBL | |
1151 | end fpu fpv5-d16 | |
1152 | ||
1153 | begin fpu fp-armv8 | |
1154 | isa FP_ARMv8 FP_D32 | |
1155 | end fpu fp-armv8 | |
1156 | ||
1157 | begin fpu neon-fp-armv8 | |
1158 | isa FP_ARMv8 NEON | |
1159 | end fpu neon-fp-armv8 | |
1160 | ||
1161 | begin fpu crypto-neon-fp-armv8 | |
1162 | isa FP_ARMv8 CRYPTO | |
1163 | end fpu crypto-neon-fp-armv8 | |
1164 | ||
1165 | # Compatibility aliases. | |
1166 | begin fpu vfp3 | |
1167 | isa VFPv3 FP_D32 | |
1168 | end fpu vfp3 |