eabispe.h revision 169689
1221420Sdes/* Core target definitions for GNU compiler 276259Sgreen for PowerPC embedded targeted systems with SPE support. 365668Skris Copyright (C) 2002, 2003, 2004, 2005 Free Software Foundation, Inc. 492555Sdes Contributed by Aldy Hernandez (aldyh@redhat.com). 565668Skris 665668Skris This file is part of GCC. 765668Skris 865668Skris GCC is free software; you can redistribute it and/or modify it 965668Skris under the terms of the GNU General Public License as published 1065668Skris by the Free Software Foundation; either version 2, or (at your 1165668Skris option) any later version. 1265668Skris 1365668Skris GCC is distributed in the hope that it will be useful, but WITHOUT 1465668Skris ANY WARRANTY; without even the implied warranty of MERCHANTABILITY 1565668Skris or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public 1665668Skris License for more details. 1765668Skris 1865668Skris You should have received a copy of the GNU General Public License 1965668Skris along with GCC; see the file COPYING. If not, write to the 2065668Skris Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, 2165668Skris MA 02110-1301, USA. */ 2265668Skris 2365668Skris#undef TARGET_DEFAULT 2465668Skris#define TARGET_DEFAULT (MASK_POWERPC | MASK_NEW_MNEMONICS | MASK_EABI \ 2565668Skris | MASK_STRICT_ALIGN) 2665668Skris 27126274Sdes#undef TARGET_VERSION 2892555Sdes#define TARGET_VERSION fprintf (stderr, " (PowerPC Embedded SPE)"); 29221420Sdes 30#undef SUBSUBTARGET_OVERRIDE_OPTIONS 31#define SUBSUBTARGET_OVERRIDE_OPTIONS \ 32 if (rs6000_select[1].string == NULL) \ 33 rs6000_cpu = PROCESSOR_PPC8540; \ 34 if (!rs6000_explicit_options.abi) \ 35 rs6000_spe_abi = 1; \ 36 if (!rs6000_explicit_options.float_gprs) \ 37 rs6000_float_gprs = 1; \ 38 /* See note below. */ \ 39 /*if (!rs6000_explicit_options.long_double)*/ \ 40 /* rs6000_long_double_type_size = 128;*/ \ 41 if (!rs6000_explicit_options.spe) \ 42 rs6000_spe = 1; \ 43 if (!rs6000_explicit_options.isel) \ 44 rs6000_isel = 1; \ 45 if (target_flags & MASK_64BIT) \ 46 error ("-m64 not supported in this configuration") 47 48/* The e500 ABI says that either long doubles are 128 bits, or if 49 implemented in any other size, the compiler/linker should error out. 50 We have no emulation libraries for 128 bit long doubles, and I hate 51 the dozens of failures on the regression suite. So I'm breaking ABI 52 specifications, until I properly fix the emulation. 53 54 Enable these later. 55#undef CPP_LONGDOUBLE_DEFAULT_SPEC 56#define CPP_LONGDOUBLE_DEFAULT_SPEC "-D__LONG_DOUBLE_128__=1" 57*/ 58 59#undef ASM_DEFAULT_SPEC 60#define ASM_DEFAULT_SPEC "-mppc -mspe -me500" 61