EXTRA_SPECS addition
[official-gcc.git] / gcc / config / rs6000 / powerpc.h
blobc050690f49c3073edae8999b2dc0a312e68b8c50
1 /* Definitions of target machine for GNU compiler,
2 for IBM RS/6000 PowerPC running AIX version 3.2.
3 Copyright (C) 1993, 1994, 1995, 1996 Free Software Foundation, Inc.
4 Contributed by David Edelsohn (edelsohn@npac.syr.edu).
6 This file is part of GNU CC.
8 GNU CC is free software; you can redistribute it and/or modify
9 it under the terms of the GNU General Public License as published by
10 the Free Software Foundation; either version 2, or (at your option)
11 any later version.
13 GNU CC is distributed in the hope that it will be useful,
14 but WITHOUT ANY WARRANTY; without even the implied warranty of
15 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 GNU General Public License for more details.
18 You should have received a copy of the GNU General Public License
19 along with GNU CC; see the file COPYING. If not, write to
20 the Free Software Foundation, 59 Temple Place - Suite 330,
21 Boston, MA 02111-1307, USA. */
24 #include "rs6000/rs6000.h"
26 #undef ASM_SPEC
27 #define ASM_SPEC "-u %(asm_cpu)"
29 #undef CPP_PREDEFINES
30 #define CPP_PREDEFINES "-D_IBMR2 -D_POWER -D_AIX -D_AIX32 \
31 -Asystem(unix) -Asystem(aix) -Acpu(powerpc) -Amachine(powerpc)"
33 #undef CPP_DEFAULT_SPEC
34 #define CPP_DEFAULT_SPEC "-D_ARCH_PPC"
36 #undef ASM_DEFAULT_SPEC
37 #define ASM_DEFAULT_SPEC "-mppc"
39 #undef TARGET_DEFAULT
40 #define TARGET_DEFAULT (MASK_POWERPC | MASK_NEW_MNEMONICS)
42 #undef PROCESSOR_DEFAULT
43 #define PROCESSOR_DEFAULT PROCESSOR_PPC601
45 /* These are not necessary when we pass -u to the assembler, and undefining
46 them saves a great deal of space in object files. */
48 #undef ASM_OUTPUT_EXTERNAL
49 #undef ASM_OUTPUT_EXTERNAL_LIBCALL
50 #define ASM_OUTPUT_EXTERNAL(FILE, DECL, NAME) \
51 { rtx _symref = XEXP (DECL_RTL (DECL), 0); \
52 if ((TREE_CODE (DECL) == VAR_DECL \
53 || TREE_CODE (DECL) == FUNCTION_DECL) \
54 && (NAME)[0] != '*' \
55 && (NAME)[strlen (NAME) - 1] != ']') \
56 { \
57 char *_name = (char *) permalloc (strlen (XSTR (_symref, 0)) + 5); \
58 strcpy (_name, XSTR (_symref, 0)); \
59 strcat (_name, TREE_CODE (DECL) == FUNCTION_DECL ? "[DS]" : "[RW]"); \
60 XSTR (_symref, 0) = _name; \
61 } \