diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 4698d048c5cdf2f2379bf0157ef683d13811089e..94dc52b65d78bb50f8d8a6aec8ce4713c1e781a1 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,8 @@
+2005-04-17  Richard Sandiford  <rsandifo@redhat.com>
+
+	* config/mips/iris6.h (DRIVER_SELF_SPECS): Check -march as well as
+	-mipsN before forcing a default of -mips2.
+
 2005-04-17  Kazu Hirata  <kazu@cs.umass.edu>
 
 	* predict.h (IS_TAKEN): Remove.
diff --git a/gcc/config/mips/iris6.h b/gcc/config/mips/iris6.h
index b64d371b8f344e85057539272c40646ff8b30915..4e91bca1635462ff48bc2b8eb3e3b7a7fb2f3bb5 100644
--- a/gcc/config/mips/iris6.h
+++ b/gcc/config/mips/iris6.h
@@ -32,7 +32,7 @@ Boston, MA 02111-1307, USA.  */
    easier to write.  Default to the mips2 ISA for the O32 ABI.  */
 #define DRIVER_SELF_SPECS \
   "%{!mabi=*: -mabi=n32}", \
-  "%{mabi=32: %{!mips*: -mips2}}"
+  "%{mabi=32: %{!mips*: %{!march*: -mips2}}}"
 
 /* Force the generation of dwarf .debug_frame sections even if not
    compiling -g.  This guarantees that we can unwind the stack.  */