1 /* -*- buffer-read-only: t -*-
2 Generated automatically by parsecpu.awk from arm-cpus.in.
5 Copyright (C) 2011-2017 Free Software Foundation, Inc.
7 This file is part of GCC.
9 GCC is free software; you can redistribute it and/or modify
10 it under the terms of the GNU General Public License as
11 published by the Free Software Foundation; either version 3,
12 or (at your option) any later version.
14 GCC is distributed in the hope that it will be useful,
15 but WITHOUT ANY WARRANTY; without even the implied warranty of
16 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17 GNU General Public License for more details.
19 You should have received a copy of the GNU General Public
20 License along with GCC; see the file COPYING3. If not see
21 <http://www.gnu.org/licenses/>. */
23 static const struct processors all_cores
[] =
28 (TF_CO_PROC
| TF_NO_MODE32
),
31 ISA_ARMv2
,isa_bit_mode26
,
39 (TF_CO_PROC
| TF_NO_MODE32
),
42 ISA_ARMv2
,isa_bit_mode26
,
50 (TF_CO_PROC
| TF_NO_MODE32
),
53 ISA_ARMv2
,isa_bit_mode26
,
64 ISA_ARMv3
,isa_bit_mode26
,
75 ISA_ARMv3
,isa_bit_mode26
,
83 (TF_CO_PROC
| TF_WBUF
),
86 ISA_ARMv3
,isa_bit_mode26
,
97 ISA_ARMv3
,isa_bit_mode26
,
105 (TF_CO_PROC
| TF_WBUF
),
108 ISA_ARMv3
,isa_bit_mode26
,
119 ISA_ARMv3
,isa_bit_mode26
,
130 ISA_ARMv3
,isa_bit_mode26
,
141 ISA_ARMv3
,isa_bit_mode26
,
152 ISA_ARMv3
,isa_bit_mode26
,
160 (TF_CO_PROC
| TF_WBUF
),
163 ISA_ARMv3
,isa_bit_mode26
,
171 (TF_CO_PROC
| TF_WBUF
),
174 ISA_ARMv3
,isa_bit_mode26
,
185 ISA_ARMv3
,isa_bit_mode26
,
196 ISA_ARMv3
,isa_bit_mode26
,
207 ISA_ARMv3
,isa_bit_mode26
,
218 ISA_ARMv3
,isa_bit_mode26
,
229 ISA_ARMv3
,isa_bit_mode26
,
236 TARGET_CPU_arm7500fe
,
237 (TF_CO_PROC
| TF_WBUF
),
240 ISA_ARMv3
,isa_bit_mode26
,
251 ISA_ARMv3m
,isa_bit_mode26
,
262 ISA_ARMv3m
,isa_bit_mode26
,
273 ISA_ARMv3m
,isa_bit_mode26
,
284 ISA_ARMv4
,isa_bit_mode26
,
295 ISA_ARMv4
,isa_bit_mode26
,
302 TARGET_CPU_strongarm
,
303 (TF_LDSCHED
| TF_STRONG
),
306 ISA_ARMv4
,isa_bit_mode26
,
313 TARGET_CPU_strongarm110
,
314 (TF_LDSCHED
| TF_STRONG
),
317 ISA_ARMv4
,isa_bit_mode26
,
324 TARGET_CPU_strongarm1100
,
325 (TF_LDSCHED
| TF_STRONG
),
328 ISA_ARMv4
,isa_bit_mode26
,
335 TARGET_CPU_strongarm1110
,
336 (TF_LDSCHED
| TF_STRONG
),
339 ISA_ARMv4
,isa_bit_mode26
,
350 ISA_ARMv4
,isa_bit_mode26
,
361 ISA_ARMv4
,isa_bit_mode26
,
379 TARGET_CPU_arm7tdmis
,
500 TARGET_CPU_arm10tdmi
,
524 "5TE", BASE_ARCH_5TE
,
535 "5TE", BASE_ARCH_5TE
,
546 "5TE", BASE_ARCH_5TE
,
557 "5TE", BASE_ARCH_5TE
,
568 "5TE", BASE_ARCH_5TE
,
579 "5TE", BASE_ARCH_5TE
,
590 "5TE", BASE_ARCH_5TE
,
600 (TF_LDSCHED
| TF_XSCALE
),
601 "5TE", BASE_ARCH_5TE
,
612 (TF_LDSCHED
| TF_XSCALE
),
613 "5TE", BASE_ARCH_5TE
,
615 ISA_ARMv5te
,isa_bit_xscale
,isa_bit_iwmmxt
,
623 (TF_LDSCHED
| TF_XSCALE
),
624 "5TE", BASE_ARCH_5TE
,
626 ISA_ARMv5te
,isa_bit_xscale
,isa_bit_iwmmxt
,isa_bit_iwmmxt2
,
635 "5TE", BASE_ARCH_5TE
,
646 "5TE", BASE_ARCH_5TE
,
657 "5TE", BASE_ARCH_5TE
,
668 "5TE", BASE_ARCH_5TE
,
677 TARGET_CPU_arm926ejs
,
679 "5TEJ", BASE_ARCH_5TEJ
,
688 TARGET_CPU_arm1026ejs
,
690 "5TEJ", BASE_ARCH_5TEJ
,
699 TARGET_CPU_arm1136js
,
710 TARGET_CPU_arm1136jfs
,
715 ISA_VFPv2
,ISA_FP_DBL
,
722 TARGET_CPU_arm1176jzs
,
724 "6KZ", BASE_ARCH_6KZ
,
733 TARGET_CPU_arm1176jzfs
,
735 "6KZ", BASE_ARCH_6KZ
,
738 ISA_VFPv2
,ISA_FP_DBL
,
745 TARGET_CPU_mpcorenovfp
,
761 ISA_VFPv2
,ISA_FP_DBL
,
768 TARGET_CPU_arm1156t2s
,
770 "6T2", BASE_ARCH_6T2
,
779 TARGET_CPU_arm1156t2fs
,
781 "6T2", BASE_ARCH_6T2
,
784 ISA_VFPv2
,ISA_FP_DBL
,
813 TARGET_CPU_cortexm0plus
,
823 "cortex-m1.small-multiply",
825 (TF_LDSCHED
| TF_SMALLMUL
),
834 "cortex-m0.small-multiply",
836 (TF_LDSCHED
| TF_SMALLMUL
),
845 "cortex-m0plus.small-multiply",
846 TARGET_CPU_cortexm0plus
,
847 (TF_LDSCHED
| TF_SMALLMUL
),
857 TARGET_CPU_genericv7a
,
912 TARGET_CPU_cortexa17
,
923 TARGET_CPU_cortexa15
,
934 TARGET_CPU_cortexa17
,
956 TARGET_CPU_cortexr4f
,
1003 TARGET_CPU_cortexm7
,
1005 "7EM", BASE_ARCH_7EM
,
1008 isa_quirk_no_volatile_ce
,
1015 TARGET_CPU_cortexm4
,
1017 "7EM", BASE_ARCH_7EM
,
1026 TARGET_CPU_cortexm3
,
1038 TARGET_CPU_marvell_pj4
,
1045 &arm_marvell_pj4_tune
1048 "cortex-a15.cortex-a7",
1049 TARGET_CPU_cortexa7
,
1056 &arm_cortex_a15_tune
1059 "cortex-a17.cortex-a7",
1060 TARGET_CPU_cortexa7
,
1067 &arm_cortex_a12_tune
1071 TARGET_CPU_cortexa53
,
1075 ISA_ARMv8a
,isa_bit_crc32
,
1078 &arm_cortex_a35_tune
1082 TARGET_CPU_cortexa53
,
1086 ISA_ARMv8a
,isa_bit_crc32
,
1089 &arm_cortex_a35_tune
1093 TARGET_CPU_cortexa53
,
1097 ISA_ARMv8a
,isa_bit_crc32
,
1100 &arm_cortex_a53_tune
1104 TARGET_CPU_cortexa57
,
1108 ISA_ARMv8a
,isa_bit_crc32
,
1111 &arm_cortex_a57_tune
1115 TARGET_CPU_cortexa57
,
1119 ISA_ARMv8a
,isa_bit_crc32
,
1122 &arm_cortex_a57_tune
1126 TARGET_CPU_cortexa57
,
1130 ISA_ARMv8a
,isa_bit_crc32
,
1133 &arm_cortex_a73_tune
1137 TARGET_CPU_exynosm1
,
1141 ISA_ARMv8a
,isa_bit_crc32
,
1158 "cortex-a57.cortex-a53",
1159 TARGET_CPU_cortexa53
,
1163 ISA_ARMv8a
,isa_bit_crc32
,
1166 &arm_cortex_a57_tune
1169 "cortex-a72.cortex-a53",
1170 TARGET_CPU_cortexa53
,
1174 ISA_ARMv8a
,isa_bit_crc32
,
1177 &arm_cortex_a57_tune
1180 "cortex-a73.cortex-a35",
1181 TARGET_CPU_cortexa53
,
1185 ISA_ARMv8a
,isa_bit_crc32
,
1188 &arm_cortex_a73_tune
1191 "cortex-a73.cortex-a53",
1192 TARGET_CPU_cortexa53
,
1196 ISA_ARMv8a
,isa_bit_crc32
,
1199 &arm_cortex_a73_tune
1203 TARGET_CPU_cortexm23
,
1205 "8M_BASE", BASE_ARCH_8M_BASE
,
1214 TARGET_CPU_cortexm33
,
1216 "8M_MAIN", BASE_ARCH_8M_MAIN
,
1218 ISA_ARMv8m_main
,isa_bit_ARMv7em
,
1223 {NULL
, TARGET_CPU_arm_none
, 0, NULL
, BASE_ARCH_0
, {isa_nobit
}, NULL
}
1226 static const struct processors all_architectures
[] =
1229 "armv2", TARGET_CPU_arm2
,
1230 (TF_CO_PROC
| TF_NO_MODE32
),
1233 ISA_ARMv2
,isa_bit_mode26
,
1239 "armv2a", TARGET_CPU_arm2
,
1240 (TF_CO_PROC
| TF_NO_MODE32
),
1243 ISA_ARMv2
,isa_bit_mode26
,
1249 "armv3", TARGET_CPU_arm6
,
1253 ISA_ARMv3
,isa_bit_mode26
,
1259 "armv3m", TARGET_CPU_arm7m
,
1263 ISA_ARMv3m
,isa_bit_mode26
,
1269 "armv4", TARGET_CPU_arm7tdmi
,
1273 ISA_ARMv4
,isa_bit_mode26
,
1279 "armv4t", TARGET_CPU_arm7tdmi
,
1289 "armv5", TARGET_CPU_arm10tdmi
,
1299 "armv5t", TARGET_CPU_arm10tdmi
,
1309 "armv5e", TARGET_CPU_arm1026ejs
,
1319 "armv5te", TARGET_CPU_arm1026ejs
,
1321 "5TE", BASE_ARCH_5TE
,
1329 "armv5tej", TARGET_CPU_arm1026ejs
,
1331 "5TEJ", BASE_ARCH_5TEJ
,
1339 "armv6", TARGET_CPU_arm1136js
,
1349 "armv6j", TARGET_CPU_arm1136js
,
1359 "armv6k", TARGET_CPU_mpcore
,
1369 "armv6z", TARGET_CPU_arm1176jzs
,
1379 "armv6kz", TARGET_CPU_arm1176jzs
,
1381 "6KZ", BASE_ARCH_6KZ
,
1389 "armv6zk", TARGET_CPU_arm1176jzs
,
1391 "6KZ", BASE_ARCH_6KZ
,
1399 "armv6t2", TARGET_CPU_arm1156t2s
,
1401 "6T2", BASE_ARCH_6T2
,
1409 "armv6-m", TARGET_CPU_cortexm1
,
1419 "armv6s-m", TARGET_CPU_cortexm1
,
1429 "armv7", TARGET_CPU_cortexa8
,
1439 "armv7-a", TARGET_CPU_cortexa8
,
1449 "armv7ve", TARGET_CPU_cortexa8
,
1459 "armv7-r", TARGET_CPU_cortexr4
,
1469 "armv7-m", TARGET_CPU_cortexm3
,
1479 "armv7e-m", TARGET_CPU_cortexm4
,
1481 "7EM", BASE_ARCH_7EM
,
1489 "armv8-a", TARGET_CPU_cortexa53
,
1499 "armv8-a+crc", TARGET_CPU_cortexa53
,
1503 ISA_ARMv8a
,isa_bit_crc32
,
1509 "armv8.1-a", TARGET_CPU_cortexa53
,
1519 "armv8.2-a", TARGET_CPU_cortexa53
,
1529 "armv8.2-a+fp16", TARGET_CPU_cortexa53
,
1533 ISA_ARMv8_2a
,isa_bit_fp16
,
1539 "armv8-m.base", TARGET_CPU_cortexm23
,
1541 "8M_BASE", BASE_ARCH_8M_BASE
,
1549 "armv8-m.main", TARGET_CPU_cortexm7
,
1551 "8M_MAIN", BASE_ARCH_8M_MAIN
,
1559 "armv8-m.main+dsp", TARGET_CPU_cortexm33
,
1561 "8M_MAIN", BASE_ARCH_8M_MAIN
,
1563 ISA_ARMv8m_main
,isa_bit_ARMv7em
,
1569 "iwmmxt", TARGET_CPU_iwmmxt
,
1570 (TF_LDSCHED
| TF_STRONG
| TF_XSCALE
),
1571 "5TE", BASE_ARCH_5TE
,
1573 ISA_ARMv5te
,isa_bit_xscale
,isa_bit_iwmmxt
,
1579 "iwmmxt2", TARGET_CPU_iwmmxt2
,
1580 (TF_LDSCHED
| TF_STRONG
| TF_XSCALE
),
1581 "5TE", BASE_ARCH_5TE
,
1583 ISA_ARMv5te
,isa_bit_xscale
,isa_bit_iwmmxt
,isa_bit_iwmmxt2
,
1588 {NULL
, TARGET_CPU_arm_none
, 0, NULL
, BASE_ARCH_0
, {isa_nobit
}, NULL
}
1591 const struct arm_fpu_desc all_fpus
[] =
1596 ISA_VFPv2
,ISA_FP_DBL
,
1603 ISA_VFPv2
,ISA_FP_DBL
,
1610 ISA_VFPv3
,ISA_FP_D32
,
1617 ISA_VFPv3
,ISA_FP_D32
,isa_bit_fp16conv
,
1624 ISA_VFPv3
,ISA_FP_DBL
,
1631 ISA_VFPv3
,ISA_FP_DBL
,isa_bit_fp16conv
,
1645 ISA_VFPv3
,isa_bit_fp16conv
,
1666 ISA_VFPv3
,ISA_NEON
,isa_bit_fp16conv
,
1673 ISA_VFPv4
,ISA_FP_D32
,
1687 ISA_VFPv4
,ISA_FP_DBL
,
1708 ISA_FPv5
,ISA_FP_DBL
,
1715 ISA_FP_ARMv8
,ISA_FP_D32
,
1722 ISA_FP_ARMv8
,ISA_NEON
,
1727 "crypto-neon-fp-armv8",
1729 ISA_FP_ARMv8
,ISA_CRYPTO
,
1736 ISA_VFPv3
,ISA_FP_D32
,