(root)/
gcc-13.2.0/
gcc/
config/
mips/
vr.h
       1  /* Definitions of target machine for GNU compiler.
       2     NEC VR Series Processors
       3     Copyright (C) 2002-2023 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