config.gcc (mips64vr-*-elf*, [...]): Remove tm_defines.
authorRichard Sandiford <rsandifo@redhat.com>
Wed, 24 Mar 2004 13:44:56 +0000 (13:44 +0000)
committerRichard Sandiford <rsandifo@gcc.gnu.org>
Wed, 24 Mar 2004 13:44:56 +0000 (13:44 +0000)
* 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

gcc/ChangeLog
gcc/config/mips/t-vr
gcc/config/mips/vr.h

index 80a7cd1a0d253cc86c8043a0be85145cbe6fef8d..4ac91fe2bc56fbf57a2c73e80df0feac6bd781ad 100644 (file)
@@ -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>
 
index 2f0aef406e2f318a8bc1041441784bd8452deb0d..e342641fc9badc52df70638f1a1aa7bc0a41e6dc 100644 (file)
@@ -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
index 62deb00265633fa616562b4c13831cc8941685eb..cbc73671c9eec0163ef6fd3bfcbe8b9f9af6cb45 100644 (file)
@@ -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 "}"