OSDN Git Service

gcc/
[pf3gnuchains/gcc-fork.git] / gcc / config / mips / vr.h
1 /* Definitions of target machine for GNU compiler.
2    NEC VR Series Processors
3    Copyright (c) 2002, 2004, 2005, 2007 Free Software Foundation, Inc.
4    Contributed by Red Hat, Inc.
5
6 This file is part of GCC.
7
8 GCC 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 3, or (at your option)
11 any later version.
12
13 GCC 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.
17
18 You should have received a copy of the GNU General Public License
19 along with GCC; see the file COPYING3.  If not see
20 <http://www.gnu.org/licenses/>.  */
21
22 #define DEFAULT_VR_ARCH "mfix-vr4130"
23 #define MIPS_ABI_DEFAULT ABI_EABI
24 #define MULTILIB_DEFAULTS \
25         { MULTILIB_ENDIAN_DEFAULT,              \
26           MULTILIB_ABI_DEFAULT,                 \
27           DEFAULT_VR_ARCH }
28
29 #define DRIVER_SELF_SPECS \
30         /* Enforce the default architecture.  This is mostly for        \
31            the assembler's benefit.  */                                 \
32         "%{!march=*:%{!mfix-vr4120:%{!mfix-vr4130:"                     \
33         "-" DEFAULT_VR_ARCH "}}}",                                      \
34                                                                         \
35         /* Make -mfix-vr4120 imply -march=vr4120.  This cuts down       \
36            on command-line tautology and makes it easier for t-vr to    \
37            provide a -mfix-vr4120 multilib.  */                         \
38         "%{mfix-vr4120:%{!march=*:-march=vr4120}}",                     \
39                                                                         \
40         /* Same idea for -mfix-vr4130.  */                              \
41         "%{mfix-vr4130:%{!march=*:-march=vr4130}}",                     \
42                                                                         \
43         /* Infer the default float setting from -march.  */             \
44         MIPS_ARCH_FLOAT_SPEC,                                           \
45                                                                         \
46         /* Make -mabi=eabi -mlong32 the default.  */                    \
47         "%{!mabi=*:-mabi=eabi %{!mlong*:-mlong32}}",                    \
48                                                                         \
49         /* Make sure -mlong64 multilibs are chosen when 64-bit longs    \
50            are needed.  */                                              \
51         "%{mabi=eabi:%{!mlong*:%{!mgp32:-mlong64}}}",                   \
52                                                                         \
53         /* Remove -mgp32 if it is redundant.  */                        \
54         "%{mabi=32:%<mgp32}"