]> git.ipfire.org Git - thirdparty/gcc.git/blob - gcc/config/arm/arm-cpus.in
d116b09eabba47adcc3ed749e3bfa3339b47686e
[thirdparty/gcc.git] / gcc / config / arm / arm-cpus.in
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
817 tune for cortex-m0plus
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
1023 begin cpu falkor
1024 tune for cortex-a57
1025 tune flags LDSCHED
1026 architecture armv8-a+crc
1027 costs qdf24xx
1028 end cpu falkor
1029
1030 begin cpu qdf24xx
1031 tune for cortex-a57
1032 tune flags LDSCHED
1033 architecture armv8-a+crc
1034 costs qdf24xx
1035 end cpu qdf24xx
1036
1037 begin cpu xgene1
1038 tune flags LDSCHED
1039 architecture armv8-a
1040 costs xgene1
1041 end cpu xgene1
1042
1043
1044 # V8 A-profile big.LITTLE implementations
1045 begin cpu cortex-a57.cortex-a53
1046 cname cortexa57cortexa53
1047 tune for cortex-a53
1048 tune flags LDSCHED
1049 architecture armv8-a+crc
1050 costs cortex_a57
1051 end cpu cortex-a57.cortex-a53
1052
1053 begin cpu cortex-a72.cortex-a53
1054 cname cortexa72cortexa53
1055 tune for cortex-a53
1056 tune flags LDSCHED
1057 architecture armv8-a+crc
1058 costs cortex_a57
1059 end cpu cortex-a72.cortex-a53
1060
1061 begin cpu cortex-a73.cortex-a35
1062 cname cortexa73cortexa35
1063 tune for cortex-a53
1064 tune flags LDSCHED
1065 architecture armv8-a+crc
1066 costs cortex_a73
1067 end cpu cortex-a73.cortex-a35
1068
1069 begin cpu cortex-a73.cortex-a53
1070 cname cortexa73cortexa53
1071 tune for cortex-a53
1072 tune flags LDSCHED
1073 architecture armv8-a+crc
1074 costs cortex_a73
1075 end cpu cortex-a73.cortex-a53
1076
1077
1078 # V8 M-profile implementations.
1079 begin cpu cortex-m23
1080 cname cortexm23
1081 tune flags LDSCHED
1082 architecture armv8-m.base
1083 costs v6m
1084 end cpu cortex-m23
1085
1086 begin cpu cortex-m33
1087 cname cortexm33
1088 tune flags LDSCHED
1089 architecture armv8-m.main+dsp
1090 costs v7m
1091 end cpu cortex-m33
1092
1093 # FPU entries
1094 # format:
1095 # begin fpu <name>
1096 # isa <isa-flags-list>
1097 # end fpu <name>
1098
1099 begin fpu vfp
1100 isa VFPv2 FP_DBL
1101 end fpu vfp
1102
1103 begin fpu vfpv2
1104 isa VFPv2 FP_DBL
1105 end fpu vfpv2
1106
1107 begin fpu vfpv3
1108 isa VFPv3 FP_D32
1109 end fpu vfpv3
1110
1111 begin fpu vfpv3-fp16
1112 isa VFPv3 FP_D32 bit_fp16conv
1113 end fpu vfpv3-fp16
1114
1115 begin fpu vfpv3-d16
1116 isa VFPv3 FP_DBL
1117 end fpu vfpv3-d16
1118
1119 begin fpu vfpv3-d16-fp16
1120 isa VFPv3 FP_DBL bit_fp16conv
1121 end fpu vfpv3-d16-fp16
1122
1123 begin fpu vfpv3xd
1124 isa VFPv3
1125 end fpu vfpv3xd
1126
1127 begin fpu vfpv3xd-fp16
1128 isa VFPv3 bit_fp16conv
1129 end fpu vfpv3xd-fp16
1130
1131 begin fpu neon
1132 isa VFPv3 NEON
1133 end fpu neon
1134
1135 begin fpu neon-vfpv3
1136 isa VFPv3 NEON
1137 end fpu neon-vfpv3
1138
1139 begin fpu neon-fp16
1140 isa VFPv3 NEON bit_fp16conv
1141 end fpu neon-fp16
1142
1143 begin fpu vfpv4
1144 isa VFPv4 FP_D32
1145 end fpu vfpv4
1146
1147 begin fpu neon-vfpv4
1148 isa VFPv4 NEON
1149 end fpu neon-vfpv4
1150
1151 begin fpu vfpv4-d16
1152 isa VFPv4 FP_DBL
1153 end fpu vfpv4-d16
1154
1155 begin fpu fpv4-sp-d16
1156 isa VFPv4
1157 end fpu fpv4-sp-d16
1158
1159 begin fpu fpv5-sp-d16
1160 isa FPv5
1161 end fpu fpv5-sp-d16
1162
1163 begin fpu fpv5-d16
1164 isa FPv5 FP_DBL
1165 end fpu fpv5-d16
1166
1167 begin fpu fp-armv8
1168 isa FP_ARMv8 FP_D32
1169 end fpu fp-armv8
1170
1171 begin fpu neon-fp-armv8
1172 isa FP_ARMv8 NEON
1173 end fpu neon-fp-armv8
1174
1175 begin fpu crypto-neon-fp-armv8
1176 isa FP_ARMv8 CRYPTO
1177 end fpu crypto-neon-fp-armv8
1178
1179 # Compatibility aliases.
1180 begin fpu vfp3
1181 isa VFPv3 FP_D32
1182 end fpu vfp3