Home | History | Annotate | Line # | Download | only in mips
      1 /* Definitions of target machine for GNU compiler.
      2    NEC VR Series Processors
      3    Copyright (C) 2002-2022 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 #undef MULTILIB_DEFAULTS
     24 #define MULTILIB_DEFAULTS \
     25 	{ MULTILIB_ENDIAN_DEFAULT,		\
     26 	  MULTILIB_ABI_DEFAULT,			\
     27 	  DEFAULT_VR_ARCH }
     28 
     29 #undef DRIVER_SELF_SPECS
     30 #define DRIVER_SELF_SPECS \
     31 	/* Enforce the default architecture.  This is mostly for	\
     32 	   the assembler's benefit.  */					\
     33 	"%{!march=*:%{!mfix-vr4120:%{!mfix-vr4130:"			\
     34 	"-" DEFAULT_VR_ARCH "}}}",					\
     35 									\
     36 	/* Make -mfix-vr4120 imply -march=vr4120.  This cuts down	\
     37 	   on command-line tautology and makes it easier for t-vr to	\
     38 	   provide a -mfix-vr4120 multilib.  */				\
     39 	"%{mfix-vr4120:%{!march=*:-march=vr4120}}",			\
     40 									\
     41 	/* Same idea for -mfix-vr4130.  */				\
     42 	"%{mfix-vr4130:%{!march=*:-march=vr4130}}",			\
     43 									\
     44 	/* Infer the default float setting from -march.  */		\
     45 	MIPS_ARCH_FLOAT_SPEC,						\
     46 									\
     47 	/* Make -mabi=eabi -mlong32 the default.  */			\
     48 	"%{!mabi=*:-mabi=eabi %{!mlong*:-mlong32}}",			\
     49 									\
     50 	/* Make sure -mlong64 multilibs are chosen when	64-bit longs	\
     51 	   are needed.  */						\
     52 	"%{mabi=eabi:%{!mlong*:%{!mgp32:-mlong64}}}",			\
     53 									\
     54 	/* Remove -mgp32 if it is redundant.  */			\
     55 	"%{mabi=32:%<mgp32}",						\
     56 									\
     57 	/* Configuration-independent MIPS rules.  */			\
     58 	BASE_DRIVER_SELF_SPECS
     59