xref: /openbsd/gnu/gcc/gcc/config/mips/vr.h (revision a6445c1d)
1 /* Definitions of target machine for GNU compiler.
2    NEC VR Series Processors
3    Copyright (c) 2002, 2004, 2005 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 2, 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 COPYING.  If not, write to
20 the Free Software Foundation, 51 Franklin Street, Fifth Floor,
21 Boston, MA 02110-1301, USA.  */
22 
23 #define DEFAULT_VR_ARCH "mfix-vr4130"
24 #define MIPS_ABI_DEFAULT ABI_EABI
25 #define MIPS_MARCH_CONTROLS_SOFT_FLOAT 1
26 #define MULTILIB_DEFAULTS \
27 	{ MULTILIB_ENDIAN_DEFAULT,		\
28 	  MULTILIB_ABI_DEFAULT,			\
29 	  DEFAULT_VR_ARCH }
30 
31 #define DRIVER_SELF_SPECS \
32 	/* Enforce the default architecture.  This is mostly for	\
33 	   the assembler's benefit.  */					\
34 	"%{!march=*:%{!mfix-vr4120:%{!mfix-vr4130:"			\
35 	"-" DEFAULT_VR_ARCH "}}}",					\
36 									\
37 	/* Make -mfix-vr4120 imply -march=vr4120.  This cuts down	\
38 	   on command-line tautology and makes it easier for t-vr to	\
39 	   provide a -mfix-vr4120 multilib.  */				\
40 	"%{mfix-vr4120:%{!march=*:-march=vr4120}}",			\
41 									\
42 	/* Same idea for -mfix-vr4130.  */				\
43 	"%{mfix-vr4130:%{!march=*:-march=vr4130}}",			\
44 									\
45 	/* Make -mabi=eabi -mlong32 the default.  */			\
46 	"%{!mabi=*:-mabi=eabi %{!mlong*:-mlong32}}",			\
47 									\
48 	/* Make sure -mlong64 multilibs are chosen when	64-bit longs	\
49 	   are needed.  */						\
50 	"%{mabi=eabi:%{!mlong*:%{!mgp32:-mlong64}}}",			\
51 									\
52 	/* Remove -mgp32 if it is redundant.  */			\
53 	"%{mabi=32:%<mgp32}"
54