Home | History | Annotate | Line # | Download | only in armeb
      1 /* This file is automatically generated.  DO NOT EDIT! */
      2 /* Generated from: NetBSD: mknative-gcc,v 1.102 2019/10/16 06:57:24 mrg Exp  */
      3 /* Generated from: NetBSD: mknative.common,v 1.16 2018/04/15 15:13:37 christos Exp  */
      4 
      5 /* -*- buffer-read-only: t -*-
      6    Generated automatically by parsecpu.awk from arm-cpus.in.
      7    Do not edit.
      8 
      9    Copyright (C) 2011-2018 Free Software Foundation, Inc.
     10 
     11    This file is part of GCC.
     12 
     13    GCC is free software; you can redistribute it and/or modify
     14    it under the terms of the GNU General Public License as
     15    published by the Free Software Foundation; either version 3,
     16    or (at your option) any later version.
     17 
     18    GCC is distributed in the hope that it will be useful,
     19    but WITHOUT ANY WARRANTY; without even the implied warranty of
     20    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
     21    GNU General Public License for more details.
     22 
     23    You should have received a copy of the GNU General Public
     24    License along with GCC; see the file COPYING3.  If not see
     25    <http://www.gnu.org/licenses/>.  */
     26 
     27 enum isa_feature {
     28   isa_nobit = 0,
     29   isa_bit_vfpv2,
     30   isa_bit_adiv,
     31   isa_bit_vfpv3,
     32   isa_bit_vfpv4,
     33   isa_bit_armv5e,
     34   isa_bit_mode26,
     35   isa_bit_smallmul,
     36   isa_bit_iwmmxt,
     37   isa_bit_fp16fml,
     38   isa_bit_xscale,
     39   isa_bit_thumb,
     40   isa_bit_quirk_cm3_ldrd,
     41   isa_bit_be8,
     42   isa_bit_dotprod,
     43   isa_bit_lpae,
     44   isa_bit_armv4,
     45   isa_bit_armv5,
     46   isa_bit_quirk_armv6kz,
     47   isa_bit_neon,
     48   isa_bit_armv6,
     49   isa_bit_crc32,
     50   isa_bit_armv7,
     51   isa_bit_armv7em,
     52   isa_bit_cmse,
     53   isa_bit_armv8,
     54   isa_bit_fpv5,
     55   isa_bit_tdiv,
     56   isa_bit_quirk_no_volatile_ce,
     57   isa_bit_fp_d32,
     58   isa_bit_mode32,
     59   isa_bit_thumb2,
     60   isa_bit_iwmmxt2,
     61   isa_bit_notm,
     62   isa_bit_fp16,
     63   isa_bit_armv8_1,
     64   isa_bit_fp16conv,
     65   isa_bit_armv8_2,
     66   isa_bit_armv6k,
     67   isa_bit_armv8_3,
     68   isa_bit_armv8_4,
     69   isa_bit_mp,
     70   isa_bit_crypto,
     71   isa_bit_fp_dbl,
     72   isa_bit_sec,
     73   isa_bit_armv3m,
     74   isa_num_bits
     75 };
     76 
     77 #define ISA_CRYPTO \
     78   isa_bit_crypto, \
     79   isa_bit_neon, \
     80   isa_bit_fp_dbl, \
     81   isa_bit_fp_d32
     82 
     83 #define ISA_ARMv8_1a \
     84   isa_bit_crc32, \
     85   isa_bit_be8, \
     86   isa_bit_lpae, \
     87   isa_bit_notm, \
     88   isa_bit_thumb, \
     89   isa_bit_adiv, \
     90   isa_bit_armv8_1, \
     91   isa_bit_sec, \
     92   isa_bit_armv3m, \
     93   isa_bit_armv5e, \
     94   isa_bit_armv6k, \
     95   isa_bit_thumb2, \
     96   isa_bit_mp, \
     97   isa_bit_armv4, \
     98   isa_bit_armv5, \
     99   isa_bit_armv6, \
    100   isa_bit_armv7, \
    101   isa_bit_armv8, \
    102   isa_bit_tdiv, \
    103   isa_bit_mode32
    104 
    105 #define ISA_ARMv5t \
    106   isa_bit_mode32, \
    107   isa_bit_thumb, \
    108   isa_bit_armv3m, \
    109   isa_bit_armv4, \
    110   isa_bit_armv5, \
    111   isa_bit_notm
    112 
    113 #define ISA_ALL_CRYPTO \
    114   isa_bit_crypto
    115 
    116 #define ISA_DOTPROD \
    117   isa_bit_neon, \
    118   isa_bit_dotprod, \
    119   isa_bit_fp_dbl, \
    120   isa_bit_fp_d32
    121 
    122 #define ISA_ARMv7m \
    123   isa_bit_thumb, \
    124   isa_bit_be8, \
    125   isa_bit_armv4, \
    126   isa_bit_armv5, \
    127   isa_bit_armv6, \
    128   isa_bit_armv7, \
    129   isa_bit_armv3m, \
    130   isa_bit_thumb2, \
    131   isa_bit_armv5e, \
    132   isa_bit_mode32, \
    133   isa_bit_tdiv
    134 
    135 #define ISA_ARMv8m_main \
    136   isa_bit_armv3m, \
    137   isa_bit_cmse, \
    138   isa_bit_armv5e, \
    139   isa_bit_thumb2, \
    140   isa_bit_thumb, \
    141   isa_bit_be8, \
    142   isa_bit_mode32, \
    143   isa_bit_armv4, \
    144   isa_bit_armv5, \
    145   isa_bit_armv6, \
    146   isa_bit_armv7, \
    147   isa_bit_armv8, \
    148   isa_bit_tdiv
    149 
    150 #define ISA_ARMv8m_base \
    151   isa_bit_tdiv, \
    152   isa_bit_cmse, \
    153   isa_bit_thumb, \
    154   isa_bit_armv3m, \
    155   isa_bit_armv5e, \
    156   isa_bit_be8, \
    157   isa_bit_armv4, \
    158   isa_bit_armv5, \
    159   isa_bit_armv6, \
    160   isa_bit_armv8, \
    161   isa_bit_mode32
    162 
    163 #define ISA_FPv5 \
    164   isa_bit_fp16conv, \
    165   isa_bit_fpv5, \
    166   isa_bit_vfpv2, \
    167   isa_bit_vfpv3, \
    168   isa_bit_vfpv4
    169 
    170 #define ISA_ARMv7r \
    171   isa_bit_tdiv, \
    172   isa_bit_be8, \
    173   isa_bit_mode32, \
    174   isa_bit_notm, \
    175   isa_bit_armv4, \
    176   isa_bit_armv5, \
    177   isa_bit_armv6, \
    178   isa_bit_armv7, \
    179   isa_bit_armv3m, \
    180   isa_bit_thumb2, \
    181   isa_bit_thumb, \
    182   isa_bit_armv5e, \
    183   isa_bit_armv6k
    184 
    185 #define ISA_ARMv8_3a \
    186   isa_bit_thumb, \
    187   isa_bit_tdiv, \
    188   isa_bit_lpae, \
    189   isa_bit_notm, \
    190   isa_bit_armv3m, \
    191   isa_bit_sec, \
    192   isa_bit_armv5e, \
    193   isa_bit_armv6k, \
    194   isa_bit_thumb2, \
    195   isa_bit_armv4, \
    196   isa_bit_armv5, \
    197   isa_bit_armv6, \
    198   isa_bit_armv7, \
    199   isa_bit_armv8, \
    200   isa_bit_adiv, \
    201   isa_bit_mp, \
    202   isa_bit_armv8_1, \
    203   isa_bit_armv8_2, \
    204   isa_bit_armv8_3, \
    205   isa_bit_crc32, \
    206   isa_bit_mode32, \
    207   isa_bit_be8
    208 
    209 #define ISA_VFPv2 \
    210   isa_bit_vfpv2
    211 
    212 #define ISA_FP_DBL \
    213   isa_bit_fp_dbl
    214 
    215 #define ISA_VFPv3 \
    216   isa_bit_vfpv2, \
    217   isa_bit_vfpv3
    218 
    219 #define ISA_VFPv4 \
    220   isa_bit_fp16conv, \
    221   isa_bit_vfpv2, \
    222   isa_bit_vfpv3, \
    223   isa_bit_vfpv4
    224 
    225 #define ISA_ARMv7ve \
    226   isa_bit_mode32, \
    227   isa_bit_armv4, \
    228   isa_bit_armv5, \
    229   isa_bit_armv6, \
    230   isa_bit_armv7, \
    231   isa_bit_tdiv, \
    232   isa_bit_mp, \
    233   isa_bit_lpae, \
    234   isa_bit_be8, \
    235   isa_bit_notm, \
    236   isa_bit_adiv, \
    237   isa_bit_armv3m, \
    238   isa_bit_thumb, \
    239   isa_bit_thumb2, \
    240   isa_bit_armv5e, \
    241   isa_bit_armv6k, \
    242   isa_bit_sec
    243 
    244 #define ISA_ARMv4t \
    245   isa_bit_notm, \
    246   isa_bit_thumb, \
    247   isa_bit_armv3m, \
    248   isa_bit_armv4, \
    249   isa_bit_mode32
    250 
    251 #define ISA_ARMv6j \
    252   isa_bit_notm, \
    253   isa_bit_mode32, \
    254   isa_bit_be8, \
    255   isa_bit_thumb, \
    256   isa_bit_armv3m, \
    257   isa_bit_armv4, \
    258   isa_bit_armv5, \
    259   isa_bit_armv6, \
    260   isa_bit_armv5e
    261 
    262 #define ISA_ALL_FP \
    263   isa_bit_fp_d32, \
    264   isa_bit_neon, \
    265   isa_bit_vfpv2, \
    266   isa_bit_vfpv3, \
    267   isa_bit_vfpv4, \
    268   isa_bit_fpv5, \
    269   isa_bit_fp16conv, \
    270   isa_bit_crypto, \
    271   isa_bit_fp16, \
    272   isa_bit_fp_dbl
    273 
    274 #define ISA_ARMv6k \
    275   isa_bit_thumb, \
    276   isa_bit_mode32, \
    277   isa_bit_armv4, \
    278   isa_bit_armv5, \
    279   isa_bit_armv6, \
    280   isa_bit_notm, \
    281   isa_bit_armv3m, \
    282   isa_bit_armv5e, \
    283   isa_bit_be8, \
    284   isa_bit_armv6k
    285 
    286 #define ISA_FP_D32 \
    287   isa_bit_fp_d32, \
    288   isa_bit_fp_dbl
    289 
    290 #define ISA_ALL_QUIRKS \
    291   isa_bit_quirk_cm3_ldrd, \
    292   isa_bit_xscale, \
    293   isa_bit_quirk_armv6kz, \
    294   isa_bit_quirk_no_volatile_ce
    295 
    296 #define ISA_ARMv8a \
    297   isa_bit_armv5e, \
    298   isa_bit_armv6k, \
    299   isa_bit_thumb2, \
    300   isa_bit_tdiv, \
    301   isa_bit_sec, \
    302   isa_bit_mp, \
    303   isa_bit_lpae, \
    304   isa_bit_notm, \
    305   isa_bit_mode32, \
    306   isa_bit_armv4, \
    307   isa_bit_armv5, \
    308   isa_bit_armv6, \
    309   isa_bit_armv7, \
    310   isa_bit_armv8, \
    311   isa_bit_adiv, \
    312   isa_bit_be8, \
    313   isa_bit_thumb, \
    314   isa_bit_armv3m
    315 
    316 #define ISA_ARMv6m \
    317   isa_bit_thumb, \
    318   isa_bit_armv3m, \
    319   isa_bit_armv5e, \
    320   isa_bit_armv4, \
    321   isa_bit_armv5, \
    322   isa_bit_armv6, \
    323   isa_bit_be8, \
    324   isa_bit_mode32
    325 
    326 #define ISA_ALL_FPU_INTERNAL \
    327   isa_bit_crypto, \
    328   isa_bit_neon, \
    329   isa_bit_fp_dbl, \
    330   isa_bit_fp_d32, \
    331   isa_bit_fp16conv, \
    332   isa_bit_fpv5, \
    333   isa_bit_vfpv2, \
    334   isa_bit_vfpv3, \
    335   isa_bit_vfpv4
    336 
    337 #define ISA_ARMv5tej \
    338   isa_bit_armv5e, \
    339   isa_bit_mode32, \
    340   isa_bit_armv4, \
    341   isa_bit_armv5, \
    342   isa_bit_notm, \
    343   isa_bit_thumb, \
    344   isa_bit_armv3m
    345 
    346 #define ISA_ALL_SIMD \
    347   isa_bit_fp_d32, \
    348   isa_bit_fp16fml, \
    349   isa_bit_neon, \
    350   isa_bit_dotprod, \
    351   isa_bit_crypto
    352 
    353 #define ISA_ARMv8_2a \
    354   isa_bit_mp, \
    355   isa_bit_thumb, \
    356   isa_bit_armv3m, \
    357   isa_bit_be8, \
    358   isa_bit_armv5e, \
    359   isa_bit_tdiv, \
    360   isa_bit_armv6k, \
    361   isa_bit_armv8_1, \
    362   isa_bit_armv8_2, \
    363   isa_bit_thumb2, \
    364   isa_bit_lpae, \
    365   isa_bit_notm, \
    366   isa_bit_armv4, \
    367   isa_bit_armv5, \
    368   isa_bit_armv6, \
    369   isa_bit_armv7, \
    370   isa_bit_armv8, \
    371   isa_bit_mode32, \
    372   isa_bit_sec, \
    373   isa_bit_crc32, \
    374   isa_bit_adiv
    375 
    376 #define ISA_ARMv3m \
    377   isa_bit_armv3m, \
    378   isa_bit_notm, \
    379   isa_bit_mode32
    380 
    381 #define ISA_ARMv2 \
    382   isa_bit_notm
    383 
    384 #define ISA_ARMv3 \
    385   isa_bit_notm, \
    386   isa_bit_mode32
    387 
    388 #define ISA_NEON \
    389   isa_bit_fp_dbl, \
    390   isa_bit_fp_d32, \
    391   isa_bit_neon
    392 
    393 #define ISA_ARMv5te \
    394   isa_bit_thumb, \
    395   isa_bit_armv4, \
    396   isa_bit_notm, \
    397   isa_bit_armv5, \
    398   isa_bit_armv3m, \
    399   isa_bit_armv5e, \
    400   isa_bit_mode32
    401 
    402 #define ISA_ARMv4 \
    403   isa_bit_armv4, \
    404   isa_bit_notm, \
    405   isa_bit_armv3m, \
    406   isa_bit_mode32
    407 
    408 #define ISA_ARMv5 \
    409   isa_bit_armv3m, \
    410   isa_bit_notm, \
    411   isa_bit_mode32, \
    412   isa_bit_armv4, \
    413   isa_bit_armv5
    414 
    415 #define ISA_ARMv6 \
    416   isa_bit_armv3m, \
    417   isa_bit_armv5e, \
    418   isa_bit_armv4, \
    419   isa_bit_armv5, \
    420   isa_bit_armv6, \
    421   isa_bit_mode32, \
    422   isa_bit_be8, \
    423   isa_bit_thumb, \
    424   isa_bit_notm
    425 
    426 #define ISA_ARMv5e \
    427   isa_bit_armv4, \
    428   isa_bit_armv5, \
    429   isa_bit_notm, \
    430   isa_bit_armv3m, \
    431   isa_bit_armv5e, \
    432   isa_bit_mode32
    433 
    434 #define ISA_ARMv7 \
    435   isa_bit_thumb2, \
    436   isa_bit_be8, \
    437   isa_bit_thumb, \
    438   isa_bit_mode32, \
    439   isa_bit_armv4, \
    440   isa_bit_armv5, \
    441   isa_bit_armv6, \
    442   isa_bit_armv7, \
    443   isa_bit_armv3m, \
    444   isa_bit_armv5e
    445 
    446 #define ISA_ARMv6zk \
    447   isa_bit_mode32, \
    448   isa_bit_armv4, \
    449   isa_bit_armv5, \
    450   isa_bit_armv6, \
    451   isa_bit_notm, \
    452   isa_bit_armv3m, \
    453   isa_bit_thumb, \
    454   isa_bit_armv5e, \
    455   isa_bit_armv6k, \
    456   isa_bit_be8
    457 
    458 #define ISA_ARMv6kz \
    459   isa_bit_armv3m, \
    460   isa_bit_armv5e, \
    461   isa_bit_armv6k, \
    462   isa_bit_thumb, \
    463   isa_bit_notm, \
    464   isa_bit_quirk_armv6kz, \
    465   isa_bit_be8, \
    466   isa_bit_mode32, \
    467   isa_bit_armv4, \
    468   isa_bit_armv5, \
    469   isa_bit_armv6
    470 
    471 #define ISA_ARMv6z \
    472   isa_bit_notm, \
    473   isa_bit_armv4, \
    474   isa_bit_armv5, \
    475   isa_bit_armv6, \
    476   isa_bit_mode32, \
    477   isa_bit_thumb, \
    478   isa_bit_armv3m, \
    479   isa_bit_be8, \
    480   isa_bit_armv5e
    481 
    482 #define ISA_ARMv8r \
    483   isa_bit_adiv, \
    484   isa_bit_mode32, \
    485   isa_bit_armv4, \
    486   isa_bit_armv5, \
    487   isa_bit_armv6, \
    488   isa_bit_armv7, \
    489   isa_bit_armv8, \
    490   isa_bit_mp, \
    491   isa_bit_be8, \
    492   isa_bit_tdiv, \
    493   isa_bit_armv3m, \
    494   isa_bit_lpae, \
    495   isa_bit_notm, \
    496   isa_bit_thumb, \
    497   isa_bit_armv5e, \
    498   isa_bit_armv6k, \
    499   isa_bit_thumb2, \
    500   isa_bit_sec
    501 
    502 #define ISA_FP_ARMv8 \
    503   isa_bit_fpv5, \
    504   isa_bit_vfpv2, \
    505   isa_bit_vfpv3, \
    506   isa_bit_vfpv4, \
    507   isa_bit_fp16conv, \
    508   isa_bit_fp_dbl, \
    509   isa_bit_fp_d32
    510 
    511 #define ISA_ALL_SIMD_INTERNAL \
    512   isa_bit_neon, \
    513   isa_bit_crypto, \
    514   isa_bit_fp_d32
    515 
    516 #define ISA_ARMv8_4a \
    517   isa_bit_thumb, \
    518   isa_bit_mp, \
    519   isa_bit_adiv, \
    520   isa_bit_be8, \
    521   isa_bit_armv3m, \
    522   isa_bit_armv4, \
    523   isa_bit_armv5, \
    524   isa_bit_armv6, \
    525   isa_bit_armv7, \
    526   isa_bit_armv8, \
    527   isa_bit_armv5e, \
    528   isa_bit_armv6k, \
    529   isa_bit_thumb2, \
    530   isa_bit_crc32, \
    531   isa_bit_tdiv, \
    532   isa_bit_sec, \
    533   isa_bit_mode32, \
    534   isa_bit_armv8_1, \
    535   isa_bit_armv8_2, \
    536   isa_bit_armv8_3, \
    537   isa_bit_armv8_4, \
    538   isa_bit_lpae, \
    539   isa_bit_notm
    540 
    541 #define ISA_ARMv7a \
    542   isa_bit_armv5e, \
    543   isa_bit_thumb, \
    544   isa_bit_armv6k, \
    545   isa_bit_thumb2, \
    546   isa_bit_be8, \
    547   isa_bit_mode32, \
    548   isa_bit_armv4, \
    549   isa_bit_armv5, \
    550   isa_bit_armv6, \
    551   isa_bit_armv7, \
    552   isa_bit_notm, \
    553   isa_bit_armv3m
    554 
    555 #define ISA_ARMv6t2 \
    556   isa_bit_notm, \
    557   isa_bit_armv4, \
    558   isa_bit_armv5, \
    559   isa_bit_armv6, \
    560   isa_bit_armv3m, \
    561   isa_bit_armv5e, \
    562   isa_bit_thumb2, \
    563   isa_bit_be8, \
    564   isa_bit_mode32, \
    565   isa_bit_thumb
    566 
    567 #define ISA_ARMv7em \
    568   isa_bit_armv4, \
    569   isa_bit_armv5, \
    570   isa_bit_armv6, \
    571   isa_bit_armv7, \
    572   isa_bit_armv3m, \
    573   isa_bit_be8, \
    574   isa_bit_armv5e, \
    575   isa_bit_armv7em, \
    576   isa_bit_thumb2, \
    577   isa_bit_mode32, \
    578   isa_bit_thumb, \
    579   isa_bit_tdiv
    580 
    581