Home | History | Annotate | Line # | Download | only in arm
arm-cpus.in revision 1.1.1.1
      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 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
   1169