aboutsummaryrefslogtreecommitdiff
path: root/gcc/config/arm/arm-cores.def
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/config/arm/arm-cores.def')
-rw-r--r--gcc/config/arm/arm-cores.def86
1 files changed, 86 insertions, 0 deletions
diff --git a/gcc/config/arm/arm-cores.def b/gcc/config/arm/arm-cores.def
new file mode 100644
index 00000000000..5f6309fc3ba
--- /dev/null
+++ b/gcc/config/arm/arm-cores.def
@@ -0,0 +1,86 @@
+/* ARM CPU Cores
+ Copyright (C) 2003 Free Software Foundation, Inc.
+ Written by CodeSourcery, LLC
+
+ 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 2, 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 COPYING. If not, write to the Free
+ Software Foundation, 59 Temple Place - Suite 330, Boston, MA
+ 02111-1307, USA. */
+
+/* Before using #include to read this file, define a macro:
+
+ ARM_CORE(CORE_NAME, FLAGS)
+
+ The CORE_NAME is the name of the core, represented as an identifier
+ rather than a string constant. The FLAGS are the bitwise-or of the
+ traits that apply to that core.
+
+ If you update this table, you must update the "tune" attribue in
+ arm.md. */
+
+ARM_CORE(arm2, FL_CO_PROC | FL_MODE26)
+ARM_CORE(arm250, FL_CO_PROC | FL_MODE26)
+ARM_CORE(arm3, FL_CO_PROC | FL_MODE26)
+ARM_CORE(arm6, FL_CO_PROC | FL_MODE26 | FL_MODE32)
+ARM_CORE(arm60, FL_CO_PROC | FL_MODE26 | FL_MODE32)
+ARM_CORE(arm600, FL_CO_PROC | FL_MODE26 | FL_MODE32)
+ARM_CORE(arm610, FL_MODE26 | FL_MODE32)
+ARM_CORE(arm620, FL_CO_PROC | FL_MODE26 | FL_MODE32)
+ARM_CORE(arm7, FL_CO_PROC | FL_MODE26 | FL_MODE32)
+/* arm7m doesn't exist on its own, but only with D, (and I), but
+ those don't alter the code, so arm7m is sometimes used. */
+ARM_CORE(arm7m, FL_CO_PROC | FL_MODE26 | FL_MODE32 | FL_FAST_MULT)
+ARM_CORE(arm7d, FL_CO_PROC | FL_MODE26 | FL_MODE32)
+ARM_CORE(arm7dm, FL_CO_PROC | FL_MODE26 | FL_MODE32 | FL_FAST_MULT)
+ARM_CORE(arm7di, FL_CO_PROC | FL_MODE26 | FL_MODE32)
+ARM_CORE(arm7dmi, FL_CO_PROC | FL_MODE26 | FL_MODE32 | FL_FAST_MULT)
+ARM_CORE(arm70, FL_CO_PROC | FL_MODE26 | FL_MODE32)
+ARM_CORE(arm700, FL_CO_PROC | FL_MODE26 | FL_MODE32)
+ARM_CORE(arm700i, FL_CO_PROC | FL_MODE26 | FL_MODE32)
+ARM_CORE(arm710, FL_MODE26 | FL_MODE32)
+ARM_CORE(arm720, FL_MODE26 | FL_MODE32)
+ARM_CORE(arm710c, FL_MODE26 | FL_MODE32)
+ARM_CORE(arm7100, FL_MODE26 | FL_MODE32)
+ARM_CORE(arm7500, FL_MODE26 | FL_MODE32)
+/* Doesn't have an external co-proc, but does have embedded fpa. */
+ARM_CORE(arm7500fe, FL_CO_PROC | FL_MODE26 | FL_MODE32)
+/* V4 Architecture Processors */
+ARM_CORE(arm7tdmi, FL_CO_PROC | FL_MODE32 | FL_FAST_MULT | FL_ARCH4 | FL_THUMB)
+ARM_CORE(arm710t, FL_MODE32 | FL_FAST_MULT | FL_ARCH4 | FL_THUMB)
+ARM_CORE(arm720t, FL_MODE32 | FL_FAST_MULT | FL_ARCH4 | FL_THUMB)
+ARM_CORE(arm740t, FL_MODE32 | FL_FAST_MULT | FL_ARCH4 | FL_THUMB)
+ARM_CORE(arm8, FL_MODE26 | FL_MODE32 | FL_FAST_MULT | FL_ARCH4 | FL_LDSCHED)
+ARM_CORE(arm810, FL_MODE26 | FL_MODE32 | FL_FAST_MULT | FL_ARCH4 | FL_LDSCHED)
+ARM_CORE(arm9, FL_MODE32 | FL_FAST_MULT | FL_ARCH4 | FL_THUMB | FL_LDSCHED)
+ARM_CORE(arm920, FL_MODE32 | FL_FAST_MULT | FL_ARCH4 | FL_LDSCHED)
+ARM_CORE(arm920t, FL_MODE32 | FL_FAST_MULT | FL_ARCH4 | FL_THUMB | FL_LDSCHED)
+ARM_CORE(arm940t, FL_MODE32 | FL_FAST_MULT | FL_ARCH4 | FL_THUMB | FL_LDSCHED)
+ARM_CORE(arm9tdmi, FL_MODE32 | FL_FAST_MULT | FL_ARCH4 | FL_THUMB | FL_LDSCHED)
+ARM_CORE(arm9e, FL_MODE32 | FL_FAST_MULT | FL_ARCH4 | FL_LDSCHED)
+ARM_CORE(ep9312, FL_MODE32 | FL_FAST_MULT | FL_ARCH4 | FL_LDSCHED | FL_CIRRUS)
+ARM_CORE(strongarm, FL_MODE26 | FL_MODE32 | FL_FAST_MULT | FL_ARCH4 | FL_LDSCHED | FL_STRONG)
+ARM_CORE(strongarm110, FL_MODE26 | FL_MODE32 | FL_FAST_MULT | FL_ARCH4 | FL_LDSCHED | FL_STRONG)
+ARM_CORE(strongarm1100, FL_MODE26 | FL_MODE32 | FL_FAST_MULT | FL_ARCH4 | FL_LDSCHED | FL_STRONG)
+ARM_CORE(strongarm1110, FL_MODE26 | FL_MODE32 | FL_FAST_MULT | FL_ARCH4 | FL_LDSCHED | FL_STRONG)
+/* V5 Architecture Processors */
+ARM_CORE(arm10tdmi, FL_MODE32 | FL_FAST_MULT | FL_ARCH4 | FL_THUMB | FL_LDSCHED | FL_ARCH5)
+ARM_CORE(arm1020t, FL_MODE32 | FL_FAST_MULT | FL_ARCH4 | FL_THUMB | FL_LDSCHED | FL_ARCH5)
+ARM_CORE(arm926ejs, FL_MODE32 | FL_FAST_MULT | FL_ARCH4 | FL_THUMB | FL_ARCH5 | FL_ARCH5E)
+ARM_CORE(arm1026ejs, FL_MODE32 | FL_FAST_MULT | FL_ARCH4 | FL_THUMB | FL_ARCH5 | FL_ARCH5E)
+ARM_CORE(xscale, FL_MODE32 | FL_FAST_MULT | FL_ARCH4 | FL_THUMB | FL_LDSCHED | FL_STRONG | FL_ARCH5 | FL_ARCH5E | FL_XSCALE)
+ARM_CORE(iwmmxt, FL_MODE32 | FL_FAST_MULT | FL_ARCH4 | FL_THUMB | FL_LDSCHED | FL_STRONG | FL_ARCH5 | FL_ARCH5E | FL_XSCALE | FL_IWMMXT)
+/* V6 Architecture Processors */
+ARM_CORE(arm1136js, FL_MODE32 | FL_FAST_MULT | FL_ARCH4 | FL_THUMB | FL_ARCH5 | FL_ARCH5E | FL_ARCH6J)
+ARM_CORE(arm1136jfs, FL_MODE32 | FL_FAST_MULT | FL_ARCH4 | FL_THUMB | FL_ARCH5 | FL_ARCH5E | FL_ARCH6J | FL_VFPV2)