]>
Commit | Line | Data |
---|---|---|
a3170dc6 AH |
1 | /* Core target definitions for GNU compiler |
2 | for PowerPC embedded targeted systems with SPE support. | |
17caeff2 JM |
3 | Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007 |
4 | Free Software Foundation, Inc. | |
a3170dc6 AH |
5 | Contributed by Aldy Hernandez (aldyh@redhat.com). |
6 | ||
5de601cf | 7 | This file is part of GCC. |
a3170dc6 | 8 | |
5de601cf NC |
9 | GCC is free software; you can redistribute it and/or modify it |
10 | under the terms of the GNU General Public License as published | |
2f83c7d6 | 11 | by the Free Software Foundation; either version 3, or (at your |
5de601cf | 12 | option) any later version. |
a3170dc6 | 13 | |
5de601cf NC |
14 | GCC is distributed in the hope that it will be useful, but WITHOUT |
15 | ANY WARRANTY; without even the implied warranty of MERCHANTABILITY | |
16 | or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public | |
17 | License for more details. | |
a3170dc6 | 18 | |
5de601cf | 19 | You should have received a copy of the GNU General Public License |
2f83c7d6 NC |
20 | along with GCC; see the file COPYING3. If not see |
21 | <http://www.gnu.org/licenses/>. */ | |
a3170dc6 | 22 | |
5de601cf | 23 | #undef TARGET_DEFAULT |
db2675d3 JM |
24 | #define TARGET_DEFAULT (MASK_POWERPC | MASK_NEW_MNEMONICS | MASK_EABI \ |
25 | | MASK_STRICT_ALIGN) | |
a3170dc6 | 26 | |
5de601cf | 27 | #undef TARGET_VERSION |
a3170dc6 AH |
28 | #define TARGET_VERSION fprintf (stderr, " (PowerPC Embedded SPE)"); |
29 | ||
5de601cf | 30 | #undef SUBSUBTARGET_OVERRIDE_OPTIONS |
a3170dc6 | 31 | #define SUBSUBTARGET_OVERRIDE_OPTIONS \ |
2948ade7 NC |
32 | if (rs6000_select[1].string == NULL) \ |
33 | rs6000_cpu = PROCESSOR_PPC8540; \ | |
eef16504 | 34 | if (!rs6000_explicit_options.abi) \ |
2948ade7 | 35 | rs6000_spe_abi = 1; \ |
eef16504 | 36 | if (!rs6000_explicit_options.float_gprs) \ |
5da702b1 | 37 | rs6000_float_gprs = 1; \ |
eef16504 | 38 | if (!rs6000_explicit_options.spe) \ |
993f19a8 | 39 | rs6000_spe = 1; \ |
eef16504 | 40 | if (!rs6000_explicit_options.isel) \ |
b419bac7 JM |
41 | rs6000_isel = 1; \ |
42 | if (target_flags & MASK_64BIT) \ | |
43 | error ("-m64 not supported in this configuration") | |
a3170dc6 | 44 | |
5de601cf NC |
45 | /* The e500 ABI says that either long doubles are 128 bits, or if |
46 | implemented in any other size, the compiler/linker should error out. | |
47 | We have no emulation libraries for 128 bit long doubles, and I hate | |
48 | the dozens of failures on the regression suite. So I'm breaking ABI | |
49 | specifications, until I properly fix the emulation. | |
a3170dc6 | 50 | |
5de601cf | 51 | Enable these later. |
17caeff2 | 52 | #define RS6000_DEFAULT_LONG_DOUBLE_SIZE (TARGET_SPE ? 128 : 64) |
a3170dc6 AH |
53 | */ |
54 | ||
5de601cf | 55 | #undef ASM_DEFAULT_SPEC |
a3170dc6 | 56 | #define ASM_DEFAULT_SPEC "-mppc -mspe -me500" |