| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521 |
- /* -*- buffer-read-only: t -*-
- Generated automatically by parsecpu.awk from arm-cpus.in.
- Do not edit.
- Copyright (C) 2011-2019 Free Software Foundation, Inc.
- This file is part of GCC.
- GCC is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as
- published by the Free Software Foundation; either version 3,
- or (at your option) any later version.
- GCC is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
- You should have received a copy of the GNU General Public
- License along with GCC; see the file COPYING3. If not see
- <http://www.gnu.org/licenses/>. */
- enum isa_feature {
- isa_nobit = 0,
- isa_bit_fp16fml,
- isa_bit_cmse,
- isa_bit_quirk_armv6kz,
- isa_bit_dotprod,
- isa_bit_crc32,
- isa_bit_xscale,
- isa_bit_vfpv2,
- isa_bit_vfpv3,
- isa_bit_vfpv4,
- isa_bit_lpae,
- isa_bit_armv7em,
- isa_bit_fp16,
- isa_bit_adiv,
- isa_bit_fp_d32,
- isa_bit_be8,
- isa_bit_fp16conv,
- isa_bit_thumb2,
- isa_bit_crypto,
- isa_bit_mp,
- isa_bit_sec,
- isa_bit_sb,
- isa_bit_predres,
- isa_bit_armv4,
- isa_bit_quirk_cm3_ldrd,
- isa_bit_smallmul,
- isa_bit_armv5t,
- isa_bit_armv6,
- isa_bit_thumb,
- isa_bit_armv7,
- isa_bit_armv8,
- isa_bit_fp_dbl,
- isa_bit_armv5te,
- isa_bit_fpv5,
- isa_bit_iwmmxt2,
- isa_bit_notm,
- isa_bit_iwmmxt,
- isa_bit_armv8_1,
- isa_bit_armv8_2,
- isa_bit_armv8_3,
- isa_bit_tdiv,
- isa_bit_armv8_4,
- isa_bit_armv8_5,
- isa_bit_neon,
- isa_bit_quirk_no_volatile_ce,
- isa_bit_armv6k,
- isa_num_bits
- };
- #define ISA_ARMv8r \
- isa_bit_notm, \
- isa_bit_armv5te, \
- isa_bit_tdiv, \
- isa_bit_thumb, \
- isa_bit_thumb2, \
- isa_bit_armv4, \
- isa_bit_armv6, \
- isa_bit_armv7, \
- isa_bit_armv8, \
- isa_bit_be8, \
- isa_bit_lpae, \
- isa_bit_sec, \
- isa_bit_armv5t, \
- isa_bit_adiv, \
- isa_bit_mp, \
- isa_bit_armv6k
- #define ISA_ARMv6z \
- isa_bit_armv5te, \
- isa_bit_notm, \
- isa_bit_armv5t, \
- isa_bit_be8, \
- isa_bit_armv4, \
- isa_bit_armv6, \
- isa_bit_thumb
- #define ISA_DOTPROD \
- isa_bit_dotprod, \
- isa_bit_neon, \
- isa_bit_fp_d32, \
- isa_bit_fp_dbl
- #define ISA_ALL_CRYPTO \
- isa_bit_crypto
- #define ISA_ALL_SIMD \
- isa_bit_dotprod, \
- isa_bit_fp16fml, \
- isa_bit_neon, \
- isa_bit_fp_d32, \
- isa_bit_crypto
- #define ISA_ALL_QUIRKS \
- isa_bit_quirk_armv6kz, \
- isa_bit_xscale, \
- isa_bit_quirk_no_volatile_ce, \
- isa_bit_quirk_cm3_ldrd
- #define ISA_CRYPTO \
- isa_bit_fp_dbl, \
- isa_bit_neon, \
- isa_bit_fp_d32, \
- isa_bit_crypto
- #define ISA_ARMv8m_base \
- isa_bit_armv5t, \
- isa_bit_tdiv, \
- isa_bit_armv4, \
- isa_bit_thumb, \
- isa_bit_armv6, \
- isa_bit_armv8, \
- isa_bit_cmse, \
- isa_bit_be8, \
- isa_bit_armv5te
- #define ISA_ARMv6zk \
- isa_bit_armv5te, \
- isa_bit_armv5t, \
- isa_bit_armv4, \
- isa_bit_thumb, \
- isa_bit_armv6, \
- isa_bit_be8, \
- isa_bit_armv6k, \
- isa_bit_notm
- #define ISA_VFPv2 \
- isa_bit_vfpv2
- #define ISA_VFPv3 \
- isa_bit_vfpv2, \
- isa_bit_vfpv3
- #define ISA_VFPv4 \
- isa_bit_vfpv2, \
- isa_bit_vfpv3, \
- isa_bit_vfpv4, \
- isa_bit_fp16conv
- #define ISA_FP_D32 \
- isa_bit_fp_d32, \
- isa_bit_fp_dbl
- #define ISA_ARMv7ve \
- isa_bit_sec, \
- isa_bit_thumb, \
- isa_bit_tdiv, \
- isa_bit_notm, \
- isa_bit_mp, \
- isa_bit_armv4, \
- isa_bit_armv6, \
- isa_bit_armv7, \
- isa_bit_armv5te, \
- isa_bit_thumb2, \
- isa_bit_armv5t, \
- isa_bit_lpae, \
- isa_bit_adiv, \
- isa_bit_be8, \
- isa_bit_armv6k
- #define ISA_ARMv7a \
- isa_bit_armv5te, \
- isa_bit_thumb2, \
- isa_bit_notm, \
- isa_bit_armv5t, \
- isa_bit_armv4, \
- isa_bit_armv6, \
- isa_bit_thumb, \
- isa_bit_armv7, \
- isa_bit_be8, \
- isa_bit_armv6k
- #define ISA_ALL_SIMD_INTERNAL \
- isa_bit_neon, \
- isa_bit_fp_d32, \
- isa_bit_crypto
- #define ISA_ARMv8_1a \
- isa_bit_armv8_1, \
- isa_bit_lpae, \
- isa_bit_crc32, \
- isa_bit_adiv, \
- isa_bit_thumb2, \
- isa_bit_armv5t, \
- isa_bit_be8, \
- isa_bit_armv4, \
- isa_bit_thumb, \
- isa_bit_armv6, \
- isa_bit_armv7, \
- isa_bit_mp, \
- isa_bit_armv8, \
- isa_bit_sec, \
- isa_bit_notm, \
- isa_bit_armv6k, \
- isa_bit_tdiv, \
- isa_bit_armv5te
- #define ISA_ARMv7em \
- isa_bit_armv5t, \
- isa_bit_armv7em, \
- isa_bit_be8, \
- isa_bit_tdiv, \
- isa_bit_armv4, \
- isa_bit_thumb, \
- isa_bit_armv6, \
- isa_bit_armv7, \
- isa_bit_armv5te, \
- isa_bit_thumb2
- #define ISA_FP_DBL \
- isa_bit_fp_dbl
- #define ISA_ARMv8_3a \
- isa_bit_sec, \
- isa_bit_crc32, \
- isa_bit_lpae, \
- isa_bit_adiv, \
- isa_bit_thumb2, \
- isa_bit_armv5t, \
- isa_bit_armv5te, \
- isa_bit_armv4, \
- isa_bit_thumb, \
- isa_bit_armv6, \
- isa_bit_armv7, \
- isa_bit_armv8, \
- isa_bit_armv8_1, \
- isa_bit_armv8_2, \
- isa_bit_armv8_3, \
- isa_bit_notm, \
- isa_bit_tdiv, \
- isa_bit_mp, \
- isa_bit_armv6k, \
- isa_bit_be8
- #define ISA_ARMv5t \
- isa_bit_armv4, \
- isa_bit_thumb, \
- isa_bit_notm, \
- isa_bit_armv5t
- #define ISA_ARMv7m \
- isa_bit_thumb2, \
- isa_bit_armv5t, \
- isa_bit_tdiv, \
- isa_bit_armv5te, \
- isa_bit_armv4, \
- isa_bit_armv6, \
- isa_bit_thumb, \
- isa_bit_be8, \
- isa_bit_armv7
- #define ISA_ARMv4 \
- isa_bit_notm, \
- isa_bit_armv4
- #define ISA_ARMv6kz \
- isa_bit_armv6k, \
- isa_bit_be8, \
- isa_bit_notm, \
- isa_bit_armv5t, \
- isa_bit_armv4, \
- isa_bit_thumb, \
- isa_bit_armv6, \
- isa_bit_quirk_armv6kz, \
- isa_bit_armv5te
- #define ISA_ARMv6 \
- isa_bit_notm, \
- isa_bit_be8, \
- isa_bit_armv5te, \
- isa_bit_armv5t, \
- isa_bit_thumb, \
- isa_bit_armv4, \
- isa_bit_armv6
- #define ISA_ALL_FP \
- isa_bit_fp16, \
- isa_bit_fp_dbl, \
- isa_bit_vfpv2, \
- isa_bit_vfpv3, \
- isa_bit_vfpv4, \
- isa_bit_fpv5, \
- isa_bit_fp16conv, \
- isa_bit_neon, \
- isa_bit_fp_d32, \
- isa_bit_crypto
- #define ISA_ARMv7 \
- isa_bit_be8, \
- isa_bit_armv4, \
- isa_bit_thumb, \
- isa_bit_armv6, \
- isa_bit_armv7, \
- isa_bit_armv5te, \
- isa_bit_thumb2, \
- isa_bit_armv5t
- #define ISA_ARMv8_5a \
- isa_bit_sb, \
- isa_bit_adiv, \
- isa_bit_armv5te, \
- isa_bit_thumb2, \
- isa_bit_crc32, \
- isa_bit_armv8_1, \
- isa_bit_armv5t, \
- isa_bit_armv8_2, \
- isa_bit_armv8_3, \
- isa_bit_armv8_4, \
- isa_bit_armv8_5, \
- isa_bit_thumb, \
- isa_bit_armv4, \
- isa_bit_armv6, \
- isa_bit_be8, \
- isa_bit_armv7, \
- isa_bit_armv8, \
- isa_bit_sec, \
- isa_bit_notm, \
- isa_bit_tdiv, \
- isa_bit_armv6k, \
- isa_bit_mp, \
- isa_bit_predres, \
- isa_bit_lpae
- #define ISA_ARMv7r \
- isa_bit_armv6k, \
- isa_bit_armv4, \
- isa_bit_thumb, \
- isa_bit_armv6, \
- isa_bit_armv7, \
- isa_bit_thumb2, \
- isa_bit_armv5t, \
- isa_bit_notm, \
- isa_bit_be8, \
- isa_bit_tdiv, \
- isa_bit_armv5te
- #define ISA_ALL_FPU_INTERNAL \
- isa_bit_vfpv2, \
- isa_bit_vfpv3, \
- isa_bit_vfpv4, \
- isa_bit_neon, \
- isa_bit_fp_d32, \
- isa_bit_crypto, \
- isa_bit_fp_dbl, \
- isa_bit_fpv5, \
- isa_bit_fp16conv
- #define ISA_FPv5 \
- isa_bit_fpv5, \
- isa_bit_fp16conv, \
- isa_bit_vfpv2, \
- isa_bit_vfpv3, \
- isa_bit_vfpv4
- #define ISA_ARMv6t2 \
- isa_bit_notm, \
- isa_bit_thumb2, \
- isa_bit_armv5t, \
- isa_bit_be8, \
- isa_bit_armv5te, \
- isa_bit_armv4, \
- isa_bit_armv6, \
- isa_bit_thumb
- #define ISA_ARMv8m_main \
- isa_bit_armv8, \
- isa_bit_be8, \
- isa_bit_tdiv, \
- isa_bit_armv5te, \
- isa_bit_cmse, \
- isa_bit_thumb2, \
- isa_bit_armv5t, \
- isa_bit_armv4, \
- isa_bit_thumb, \
- isa_bit_armv6, \
- isa_bit_armv7
- #define ISA_NEON \
- isa_bit_neon, \
- isa_bit_fp_d32, \
- isa_bit_fp_dbl
- #define ISA_ARMv5te \
- isa_bit_notm, \
- isa_bit_thumb, \
- isa_bit_armv4, \
- isa_bit_armv5t, \
- isa_bit_armv5te
- #define ISA_FP_ARMv8 \
- isa_bit_vfpv2, \
- isa_bit_vfpv3, \
- isa_bit_vfpv4, \
- isa_bit_fpv5, \
- isa_bit_fp16conv, \
- isa_bit_fp_d32, \
- isa_bit_fp_dbl
- #define ISA_ARMv8a \
- isa_bit_lpae, \
- isa_bit_thumb2, \
- isa_bit_adiv, \
- isa_bit_be8, \
- isa_bit_armv5t, \
- isa_bit_sec, \
- isa_bit_armv4, \
- isa_bit_armv6, \
- isa_bit_thumb, \
- isa_bit_armv7, \
- isa_bit_armv8, \
- isa_bit_armv5te, \
- isa_bit_notm, \
- isa_bit_armv6k, \
- isa_bit_tdiv, \
- isa_bit_mp
- #define ISA_ARMv8_2a \
- isa_bit_crc32, \
- isa_bit_armv5te, \
- isa_bit_be8, \
- isa_bit_notm, \
- isa_bit_sec, \
- isa_bit_thumb2, \
- isa_bit_tdiv, \
- isa_bit_armv5t, \
- isa_bit_armv8_1, \
- isa_bit_armv8_2, \
- isa_bit_armv4, \
- isa_bit_armv6, \
- isa_bit_thumb, \
- isa_bit_armv7, \
- isa_bit_armv8, \
- isa_bit_mp, \
- isa_bit_lpae, \
- isa_bit_adiv, \
- isa_bit_armv6k
- #define ISA_ARMv6j \
- isa_bit_armv5t, \
- isa_bit_armv4, \
- isa_bit_armv6, \
- isa_bit_thumb, \
- isa_bit_armv5te, \
- isa_bit_be8, \
- isa_bit_notm
- #define ISA_ARMv6k \
- isa_bit_armv4, \
- isa_bit_armv6, \
- isa_bit_armv5t, \
- isa_bit_armv5te, \
- isa_bit_notm, \
- isa_bit_armv6k, \
- isa_bit_be8, \
- isa_bit_thumb
- #define ISA_ARMv4t \
- isa_bit_armv4, \
- isa_bit_thumb, \
- isa_bit_notm
- #define ISA_ARMv6m \
- isa_bit_be8, \
- isa_bit_armv5t, \
- isa_bit_armv5te, \
- isa_bit_armv4, \
- isa_bit_armv6, \
- isa_bit_thumb
- #define ISA_ARMv5tej \
- isa_bit_notm, \
- isa_bit_armv5te, \
- isa_bit_armv5t, \
- isa_bit_armv4, \
- isa_bit_thumb
- #define ISA_ARMv8_4a \
- isa_bit_armv8_1, \
- isa_bit_armv8_2, \
- isa_bit_armv8_3, \
- isa_bit_armv8_4, \
- isa_bit_thumb2, \
- isa_bit_tdiv, \
- isa_bit_crc32, \
- isa_bit_notm, \
- isa_bit_armv5t, \
- isa_bit_armv4, \
- isa_bit_armv6, \
- isa_bit_thumb, \
- isa_bit_armv7, \
- isa_bit_armv8, \
- isa_bit_lpae, \
- isa_bit_adiv, \
- isa_bit_be8, \
- isa_bit_mp, \
- isa_bit_armv6k, \
- isa_bit_armv5te, \
- isa_bit_sec
|