diff options
author | Richard Sandiford <rsandifo@redhat.com> | 2004-03-24 13:44:56 +0000 |
---|---|---|
committer | Richard Sandiford <rsandifo@gcc.gnu.org> | 2004-03-24 13:44:56 +0000 |
commit | c1077e1e31c264a667fe907db01de9b261a4f861 (patch) | |
tree | d99b94fba92ef502e69d3f21c5d50ad0addb4042 | |
parent | c235ddf27585e26c1e86bfec25e72bfef0debba0 (diff) | |
download | gcc-c1077e1e31c264a667fe907db01de9b261a4f861.zip gcc-c1077e1e31c264a667fe907db01de9b261a4f861.tar.gz gcc-c1077e1e31c264a667fe907db01de9b261a4f861.tar.bz2 |
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
-rw-r--r-- | gcc/ChangeLog | 15 | ||||
-rw-r--r-- | gcc/config/mips/t-vr | 73 | ||||
-rw-r--r-- | gcc/config/mips/vr.h | 31 |
3 files changed, 97 insertions, 22 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 80a7cd1..4ac91fe 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,18 @@ +2004-03-24 Richard Sandiford <rsandifo@redhat.com> + + * 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 <dj@redhat.com> Richard Sandiford <rsandifo@redhat.com> diff --git a/gcc/config/mips/t-vr b/gcc/config/mips/t-vr index 2f0aef4..e342641 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 62deb00..cbc7367 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:%<mgp32}" + /* Make -mfix-vr4122-bugs imply -march=vr4120. This cuts down \ + on command-line tautology and makes it easier for t-vr to \ + provide a -mfix-vr4122-bugs multilib. */ \ + "%{mfix-vr4122-bugs:%{!march=*:-march=vr4120}}", \ + \ + /* Make -mabi=eabi -mlong32 the default. */ \ + "%{!mabi=*:-mabi=eabi %{!mlong*:-mlong32}}", \ + \ + /* Make sure -mlong64 multilibs are chosen when 64-bit longs \ + are needed. */ \ + "%{mabi=eabi:%{!mlong*:%{!mgp32:-mlong64}}}", \ + \ + /* Remove -mgp32 if it is redundant. */ \ + "%{mabi=32:%<mgp32}", \ + \ + /* Enforce the default architecture. This is mostly for \ + the assembler's benefit. */ \ + "%{!march=*:-march=" DEFAULT_VR_ARCH "}" |