| /* Definitions for XScale architectures using ELF |
| Copyright (C) 1999, 2000, 2001 Free Software Foundation, Inc. |
| Contributed by Catherine Moore <clm@cygnus.com> |
| |
| 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 this program; see the file COPYING. If not, write to |
| the Free Software Foundation, 59 Temple Place - Suite 330, |
| Boston, MA 02111-1307, USA. */ |
| |
| /* Run-time Target Specification. */ |
| #ifndef TARGET_VERSION |
| #define TARGET_VERSION fputs (" (XScale/ELF non-Linux)", stderr); |
| #endif |
| |
| #ifndef SUBTARGET_CPU_DEFAULT |
| #define SUBTARGET_CPU_DEFAULT TARGET_CPU_xscale |
| #endif |
| |
| /* Note - there are three possible -mfpu= arguments that can be passed to |
| the assembler: |
| |
| -mfpu=softvfp This is the default. It indicates thats doubles are |
| stored in a format compatible with the VFP |
| specification. This is the newer double format, whereby |
| the endian-ness of the doubles matches the endian-ness |
| of the memory architecture. |
| |
| -mfpu=fpa This is when -mhard-float is specified. |
| [It is not known if any XScale's have been made with |
| hardware floating point support, but nevertheless this |
| is what happens]. |
| |
| -mfpu=softfpa This is when -msoft-float is specified. |
| This is the normal behavior of other arm configurations, |
| which for backwards compatibility purposes default to |
| supporting the old FPA format which was always big |
| endian, regardless of the endian-ness of the memory |
| system. */ |
| |
| #define SUBTARGET_EXTRA_ASM_SPEC "%{!mcpu=*:-mcpu=xscale} \ |
| %{mhard-float:-mfpu=fpa} \ |
| %{!mhard-float: %{msoft-float:-mfpu=softfpa;:-mfpu=softvfp}}" |
| |
| #ifndef MULTILIB_DEFAULTS |
| #define MULTILIB_DEFAULTS \ |
| { "mlittle-endian", "mno-thumb-interwork", "marm", "msoft-float" } |
| #endif |