From: Richard Sandiford Date: Wed, 24 Mar 2004 13:44:56 +0000 (+0000) Subject: config.gcc (mips64vr-*-elf*, [...]): Remove tm_defines. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=c1077e1e31c264a667fe907db01de9b261a4f861;p=gcc.git config.gcc (mips64vr-*-elf*, [...]): Remove tm_defines. * config.gcc (mips64vr-*-elf*, mips64vrel-*-elf*): Remove tm_defines. * config/mips/vr.h (DEFAULT_VR_ARCH): New macro, defined to vr4130. (MULTILIB_DEFAULTS): Use it. (MIPS_CPU_STRING_DEFAULT): Remove. (MIPS_ABI_DEFAULT, MIPS_MARCH_CONTROLS_SOFT_FLOAT): Define. (DRIVER_SELF_SPECS): Make -mfix-vr4122-bugs imply -march=vr4120. Make EABI64 -mlong32 the default ABI. Enforce the default architecture. * config/mips/t-vr (MULTILIB_OPTIONS): Add mfix-vr4122-bugs, march=vr4130, march=vr4300 and march=vr5000. (MULTILIB_MATCHES): Use -mfix-vr4122-bugs multilibs for -march=vr4120. (MULTILIB_EXCEPTIONS): Change choice of multilibs. Update comments accordingly. From-SVN: r79915 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 80a7cd1a0d2..4ac91fe2bc5 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,18 @@ +2004-03-24 Richard Sandiford + + * config.gcc (mips64vr-*-elf*, mips64vrel-*-elf*): Remove tm_defines. + * config/mips/vr.h (DEFAULT_VR_ARCH): New macro, defined to vr4130. + (MULTILIB_DEFAULTS): Use it. + (MIPS_CPU_STRING_DEFAULT): Remove. + (MIPS_ABI_DEFAULT, MIPS_MARCH_CONTROLS_SOFT_FLOAT): Define. + (DRIVER_SELF_SPECS): Make -mfix-vr4122-bugs imply -march=vr4120. Make + EABI64 -mlong32 the default ABI. Enforce the default architecture. + * config/mips/t-vr (MULTILIB_OPTIONS): Add mfix-vr4122-bugs, + march=vr4130, march=vr4300 and march=vr5000. + (MULTILIB_MATCHES): Use -mfix-vr4122-bugs multilibs for -march=vr4120. + (MULTILIB_EXCEPTIONS): Change choice of multilibs. Update comments + accordingly. + 2004-03-24 DJ Delorie Richard Sandiford diff --git a/gcc/config/mips/t-vr b/gcc/config/mips/t-vr index 2f0aef406e2..e342641fc9b 100644 --- a/gcc/config/mips/t-vr +++ b/gcc/config/mips/t-vr @@ -22,27 +22,59 @@ $(T)crtn.o: $(srcdir)/config/mips/crtn.asm $(GCC_PASSES) # END boiler-plate +# Main multilibs +# -------------- +# # Endianness: EB or EL # # ABIs: mabi=32 # mabi=o64 # mabi=eabi -# meabi=eabi/mlong32 +# mabi=eabi/mlong32 # mabi=eabi/mgp32 # mabi=eabi/mgp32/mlong64 # -# Architecture: march=vr5400 -# march=vr4100 -# march=vr4100/mips16 +# Architecture: march=vr4120 with -mfix-vr4122-bugs +# march=vr4130 (default) +# march=vr5000 +# march=vr5400 +# march=vr5500 +# +# Total: 2 * 6 * 5 = 60 multilibs. +# +# +# Extra vr4300 multilibs +# ---------------------- +# +# Endianness: EB or EL +# +# ABI: o64 +# +# Architecture: vr4300. +# +# Total: 2 * 1 * 2 = 2 multilibs. # -# Total: 2 * 6 * 3 = 36 multilibs. +# +# Extra MIPS16 multilibs +# ---------------------- +# +# Endianness: EB or EL +# +# ABIs: mabi=o64 +# mabi=eabi/mlong32 +# mabi=eabi/mgp32 +# +# Architecture: march=vr4120 with -mfix-vr4122-bugs +# march=vr4130 (default) +# +# Total: 2 * 3 * 2 = 12 multilibs. MULTILIB_OPTIONS = \ EL/EB \ mabi=32/mabi=o64/mabi=eabi \ mgp32 \ mlong64 \ mips16 \ - march=vr5400/march=vr4100 + mfix-vr4122-bugs/march=vr4130/march=vr4300/march=vr5000/march=vr5400/march=vr5500 MULTILIB_DIRNAMES = \ el eb \ @@ -50,19 +82,30 @@ MULTILIB_DIRNAMES = \ gp32 \ long64 \ mips16 \ - vr5400 vr4100 + vr4120 vr4130 vr4300 vr5000 vr5400 vr5500 -MULTILIB_MATCHES = EL=mel EB=meb +MULTILIB_MATCHES = EL=mel EB=meb mfix-vr4122-bugs=march?vr4120 -# Assume a 4000-series is the default: we'd need a *mips16 entry if -# the default processor didn't support mips16. Also assume o64, -# which means we need to extend the o64 exceptions to combinations -# without a -mabi flag. +# Assume a 41xx-series is the default: we'd need a *mips16 entry if +# the default processor didn't support mips16. Also assume the +# default ABI is EABI64 -mlong32. MULTILIB_EXCEPTIONS = \ *mabi=32/mlong64* \ *mabi=32/mgp32* \ *mabi=o64/mgp32* \ *mabi=o64/mlong64* \ - mgp32* E[LB]/mgp32* \ - mlong64* E[LB]/mlong64* \ - *mips16/march=vr5* + *mips16/march=vr5* \ + *mips16/march=vr4300 \ + $(MIPS16_EXCEPTIONS) \ + $(VR4300_EXCEPTIONS) + +MIPS16_EXCEPTIONS = \ + *mabi=32*mips16* \ + *mlong64*mips16* + +VR4300_EXCEPTIONS = \ + *mabi=32*march=vr4300 \ + *mgp32*march=vr4300 \ + *mlong64*march=vr4300 \ + march=vr4300 \ + E[LB]/march=vr4300 diff --git a/gcc/config/mips/vr.h b/gcc/config/mips/vr.h index 62deb002656..cbc73671c9e 100644 --- a/gcc/config/mips/vr.h +++ b/gcc/config/mips/vr.h @@ -19,13 +19,30 @@ You should have received a copy of the GNU General Public License along with GCC; see the file COPYING. If not, write to the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */ -#define MIPS_CPU_STRING_DEFAULT "vr4100" +#define DEFAULT_VR_ARCH "vr4130" +#define MIPS_ABI_DEFAULT ABI_EABI +#define MIPS_MARCH_CONTROLS_SOFT_FLOAT 1 #define MULTILIB_DEFAULTS \ - { MULTILIB_ENDIAN_DEFAULT, MULTILIB_ABI_DEFAULT, "march=vr4100" } + { MULTILIB_ENDIAN_DEFAULT, \ + MULTILIB_ABI_DEFAULT, \ + "march=" DEFAULT_VR_ARCH } -/* Make sure that -mlong64 always appears on the command line when - 64-bit longs are needed. Also make sure that -mgp32 doesn't appear - if it is redundant. */ #define DRIVER_SELF_SPECS \ - "%{mabi=eabi:%{!mlong*:%{!mgp32:-mlong64}}}", \ - "%{mabi=32:%