diff options
Diffstat (limited to 'gcc/config/arm/arm-cores.def')
-rw-r--r-- | gcc/config/arm/arm-cores.def | 86 |
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) |