Patchwork microMIPS ASE instruction set support [Part 2]

login
register
mail settings
Submitter Catherine Moore
Date June 16, 2010, 4:59 p.m.
Message ID <4C1902D8.3000608@codesourcery.com>
Download mbox | patch
Permalink /patch/55915/
State New
Headers show

Comments

Catherine Moore - June 16, 2010, 4:59 p.m.
This patch is for the gcc testsuite.  It modifies the scripts and 
tests in gcc.target/mips to accommodate the microMIPS target.

Does this look okay to install?

Thanks,
Catherine
2010-06-16  Catherine Moore  <clm@codesourcery.com>

	* gcc.target/mips/mips.exp (mips_options_groups):
	Add micromips.
	(mips_option_tests): Likewise.
	(mips_dg_init): Likewise.
	(DNOMICROMIPSandNOMIPS16): New attribute definition.
	(DMICROMIPS): Likewise.

	* gcc.target/mips/msub-4.c: Use NOMICROMIPSandNOMIPS16.
	* gcc.target/mips/fixed-vector-type.c: Likewise.
	* gcc.target/mips/mips-3d-6.c: Likewise.
	* gcc.target/mips/dpaq_sa_l_w.c: Likewise.
	* gcc.target/mips/call-1.c: Likewise.
	* gcc.target/mips/dsp-ctrl.c: Likewise.
	* gcc.target/mips/mips32-dsp-run.c: Likewise.
	* gcc.target/mips/r10k-cache-barrier-10.c: Likewise.
	* gcc.target/mips/mips-3d-7.c: Likewise.
	* gcc.target/mips/dspr2-MULT.c: Likewise.
	* gcc.target/mips/mips32-dsp-type.c: Likewise.
	* gcc.target/mips/no-smartmips-lwxs.c: Likewise.
	* gcc.target/mips/mips-3d-8.c: Likewise.
	* gcc.target/mips/dsp-lhx.c: Likewise.
	* gcc.target/mips/dpsq_sa_l_w.c: Likewise.
	* gcc.target/mips/mips-3d-1.c: Likewise.
	* gcc.target/mips/mips-3d-9.c: Likewise.
	* gcc.target/mips/near-far-1.c: Likewise.
	* gcc.target/mips/dsp-no-lhx.c: Likewise.
	* gcc.target/mips/mips-3d-2.c: Likewise.
	* gcc.target/mips/fixed-scalar-type.c: Likewise.
	* gcc.target/mips/near-far-2.c: Likewise.
	* gcc.target/mips/dspr2-MULTU.c: Likewise.
	* gcc.target/mips/mips32-dsp.c: Likewise.
	* gcc.target/mips/mips-3d-3.c: Likewise.
	* gcc.target/mips/mips32-dspr2-type.c: Likewise.
	* gcc.target/mips/mips-3d-4.c: Likewise.
	* gcc.target/mips/mips32-dspr2.c: Likewise.
	* gcc.target/mips/msubu-4.c: Likewise.
	* gcc.target/mips/mips-3d-5.c: Likewise.
	* gcc.target/mips/loongson-simd.c: Add
	-mno-micromips to dg-options.
	* gcc.target/mips/mips16-attributes.c: Skip if micromips.

Patch

Index: gcc.target/mips/fixed-vector-type.c
===================================================================
--- gcc.target/mips/fixed-vector-type.c	(revision 160766)
+++ gcc.target/mips/fixed-vector-type.c	(working copy)
@@ -21,112 +21,112 @@  typedef unsigned short _Accum v2uha __at
 typedef _Fract v2hq __attribute__ ((vector_size(4)));
 typedef short _Accum v2ha __attribute__ ((vector_size(4)));
 
-NOMIPS16 sat_v2hq test1 (sat_v2hq a, sat_v2hq b)
+NOMICROMIPSandNOMIPS16 sat_v2hq test1 (sat_v2hq a, sat_v2hq b)
 {
   return a + b;
 }
 
-NOMIPS16 sat_v2ha test2 (sat_v2ha a, sat_v2ha b)
+NOMICROMIPSandNOMIPS16 sat_v2ha test2 (sat_v2ha a, sat_v2ha b)
 {
   return a + b;
 }
 
-NOMIPS16 sat_v2hq test3 (sat_v2hq a, sat_v2hq b)
+NOMICROMIPSandNOMIPS16 sat_v2hq test3 (sat_v2hq a, sat_v2hq b)
 {
   return a - b;
 }
 
-NOMIPS16 sat_v2ha test4 (sat_v2ha a, sat_v2ha b)
+NOMICROMIPSandNOMIPS16 sat_v2ha test4 (sat_v2ha a, sat_v2ha b)
 {
   return a - b;
 }
 
-NOMIPS16 sat_v4uqq test5 (sat_v4uqq a, sat_v4uqq b)
+NOMICROMIPSandNOMIPS16 sat_v4uqq test5 (sat_v4uqq a, sat_v4uqq b)
 {
   return a + b;
 }
 
-NOMIPS16 sat_v2uhq test6 (sat_v2uhq a, sat_v2uhq b)
+NOMICROMIPSandNOMIPS16 sat_v2uhq test6 (sat_v2uhq a, sat_v2uhq b)
 {
   return a + b;
 }
 
-NOMIPS16 sat_v2uha test7 (sat_v2uha a, sat_v2uha b)
+NOMICROMIPSandNOMIPS16 sat_v2uha test7 (sat_v2uha a, sat_v2uha b)
 {
   return a + b;
 }
 
-NOMIPS16 sat_v4uqq test8 (sat_v4uqq a, sat_v4uqq b)
+NOMICROMIPSandNOMIPS16 sat_v4uqq test8 (sat_v4uqq a, sat_v4uqq b)
 {
   return a - b;
 }
 
-NOMIPS16 sat_v2uhq test9 (sat_v2uhq a, sat_v2uhq b)
+NOMICROMIPSandNOMIPS16 sat_v2uhq test9 (sat_v2uhq a, sat_v2uhq b)
 {
   return a - b;
 }
 
-NOMIPS16 sat_v2uha test10 (sat_v2uha a, sat_v2uha b)
+NOMICROMIPSandNOMIPS16 sat_v2uha test10 (sat_v2uha a, sat_v2uha b)
 {
   return a - b;
 }
 
-NOMIPS16 sat_v2hq test11 (sat_v2hq a, sat_v2hq b)
+NOMICROMIPSandNOMIPS16 sat_v2hq test11 (sat_v2hq a, sat_v2hq b)
 {
   return a * b;
 }
 
-NOMIPS16 v2hq test12 (v2hq a, v2hq b)
+NOMICROMIPSandNOMIPS16 v2hq test12 (v2hq a, v2hq b)
 {
   return a + b;
 }
 
-NOMIPS16 v2hq test13 (v2hq a, v2hq b)
+NOMICROMIPSandNOMIPS16 v2hq test13 (v2hq a, v2hq b)
 {
   return a - b;
 }
 
-NOMIPS16 v2hq test14 (v2hq a, v2hq b)
+NOMICROMIPSandNOMIPS16 v2hq test14 (v2hq a, v2hq b)
 {
   return a * b;
 }
 
-NOMIPS16 v2ha test15 (v2ha a, v2ha b)
+NOMICROMIPSandNOMIPS16 v2ha test15 (v2ha a, v2ha b)
 {
   return a + b;
 }
 
-NOMIPS16 v2ha test16 (v2ha a, v2ha b)
+NOMICROMIPSandNOMIPS16 v2ha test16 (v2ha a, v2ha b)
 {
   return a - b;
 }
 
-NOMIPS16 v4uqq test17 (v4uqq a, v4uqq b)
+NOMICROMIPSandNOMIPS16 v4uqq test17 (v4uqq a, v4uqq b)
 {
   return a + b;
 }
 
-NOMIPS16 v4uqq test18 (v4uqq a, v4uqq b)
+NOMICROMIPSandNOMIPS16 v4uqq test18 (v4uqq a, v4uqq b)
 {
   return a - b;
 }
 
-NOMIPS16 v2uhq test19 (v2uhq a, v2uhq b)
+NOMICROMIPSandNOMIPS16 v2uhq test19 (v2uhq a, v2uhq b)
 {
   return a + b;
 }
 
-NOMIPS16 v2uhq test20 (v2uhq a, v2uhq b)
+NOMICROMIPSandNOMIPS16 v2uhq test20 (v2uhq a, v2uhq b)
 {
   return a - b;
 }
 
-NOMIPS16 v2uha test21 (v2uha a, v2uha b)
+NOMICROMIPSandNOMIPS16 v2uha test21 (v2uha a, v2uha b)
 {
   return a + b;
 }
 
-NOMIPS16 v2uha test22 (v2uha a, v2uha b)
+NOMICROMIPSandNOMIPS16 v2uha test22 (v2uha a, v2uha b)
 {
   return a - b;
 }
Index: gcc.target/mips/loongson-simd.c
===================================================================
--- gcc.target/mips/loongson-simd.c	(revision 160766)
+++ gcc.target/mips/loongson-simd.c	(working copy)
@@ -19,10 +19,10 @@  along with GCC; see the file COPYING3.  
 <http://www.gnu.org/licenses/>.  */
 
 /* { dg-do run } */
-/* loongson.h does not handle or check for MIPS16ness.  There doesn't
+/* loongson.h does not handle or check for MIPS16ness or for microMIPS.  There doesn't
    seem any good reason for it to, given that the Loongson processors
-   do not support MIPS16.  */
-/* { dg-options "isa=loongson -mhard-float -mno-mips16 -flax-vector-conversions" } */
+   do not support MIPS16 or microMIPS.  */
+/* { dg-options "isa=loongson -mhard-float -mno-mips16 -mno-micromips -flax-vector-conversions" } */
 
 #include "loongson.h"
 #include <stdio.h>
Index: gcc.target/mips/mips-3d-6.c
===================================================================
--- gcc.target/mips/mips-3d-6.c	(revision 160766)
+++ gcc.target/mips/mips-3d-6.c	(working copy)
@@ -5,24 +5,24 @@ 
 #include <stdlib.h>
 #include <stdio.h>
 
-NOMIPS16 int test0 (float a, float b);
-NOMIPS16 int test1 (float a, float b);
-NOMIPS16 int test2 (float a, float b);
-NOMIPS16 int test3 (float a, float b);
-NOMIPS16 int test4 (float a, float b);
-NOMIPS16 int test5 (float a, float b);
-NOMIPS16 int test6 (float a, float b);
-NOMIPS16 int test7 (float a, float b);
-NOMIPS16 int test8 (float a, float b);
-NOMIPS16 int test9 (float a, float b);
-NOMIPS16 int test10 (float a, float b);
-NOMIPS16 int test11 (float a, float b);
-NOMIPS16 int test12 (float a, float b);
-NOMIPS16 int test13 (float a, float b);
-NOMIPS16 int test14 (float a, float b);
-NOMIPS16 int test15 (float a, float b);
+NOMICROMIPSandNOMIPS16 int test0 (float a, float b);
+NOMICROMIPSandNOMIPS16 int test1 (float a, float b);
+NOMICROMIPSandNOMIPS16 int test2 (float a, float b);
+NOMICROMIPSandNOMIPS16 int test3 (float a, float b);
+NOMICROMIPSandNOMIPS16 int test4 (float a, float b);
+NOMICROMIPSandNOMIPS16 int test5 (float a, float b);
+NOMICROMIPSandNOMIPS16 int test6 (float a, float b);
+NOMICROMIPSandNOMIPS16 int test7 (float a, float b);
+NOMICROMIPSandNOMIPS16 int test8 (float a, float b);
+NOMICROMIPSandNOMIPS16 int test9 (float a, float b);
+NOMICROMIPSandNOMIPS16 int test10 (float a, float b);
+NOMICROMIPSandNOMIPS16 int test11 (float a, float b);
+NOMICROMIPSandNOMIPS16 int test12 (float a, float b);
+NOMICROMIPSandNOMIPS16 int test13 (float a, float b);
+NOMICROMIPSandNOMIPS16 int test14 (float a, float b);
+NOMICROMIPSandNOMIPS16 int test15 (float a, float b);
 
-NOMIPS16 int main ()
+NOMICROMIPSandNOMIPS16 int main ()
 {
   float a, b;
   int i;
@@ -203,82 +203,82 @@  NOMIPS16 int main ()
   exit (0);
 }
 
-NOMIPS16 int test0 (float a, float b)
+NOMICROMIPSandNOMIPS16 int test0 (float a, float b)
 {
   return __builtin_mips_cabs_f_s (a, b);
 }
 
-NOMIPS16 int test1 (float a, float b)
+NOMICROMIPSandNOMIPS16 int test1 (float a, float b)
 {
   return __builtin_mips_cabs_un_s (a, b);
 }
 
-NOMIPS16 int test2 (float a, float b)
+NOMICROMIPSandNOMIPS16 int test2 (float a, float b)
 {
   return __builtin_mips_cabs_eq_s (a, b);
 }
 
-NOMIPS16 int test3 (float a, float b)
+NOMICROMIPSandNOMIPS16 int test3 (float a, float b)
 {
   return __builtin_mips_cabs_ueq_s (a, b);
 }
 
-NOMIPS16 int test4 (float a, float b)
+NOMICROMIPSandNOMIPS16 int test4 (float a, float b)
 {
   return __builtin_mips_cabs_olt_s (a, b);
 }
 
-NOMIPS16 int test5 (float a, float b)
+NOMICROMIPSandNOMIPS16 int test5 (float a, float b)
 {
   return __builtin_mips_cabs_ult_s (a, b);
 }
 
-NOMIPS16 int test6 (float a, float b)
+NOMICROMIPSandNOMIPS16 int test6 (float a, float b)
 {
   return __builtin_mips_cabs_ole_s (a, b);
 }
 
-NOMIPS16 int test7 (float a, float b)
+NOMICROMIPSandNOMIPS16 int test7 (float a, float b)
 {
   return __builtin_mips_cabs_ule_s (a, b);
 }
 
-NOMIPS16 int test8 (float a, float b)
+NOMICROMIPSandNOMIPS16 int test8 (float a, float b)
 {
   return __builtin_mips_cabs_sf_s (a, b);
 }
 
-NOMIPS16 int test9 (float a, float b)
+NOMICROMIPSandNOMIPS16 int test9 (float a, float b)
 {
   return __builtin_mips_cabs_ngle_s (a, b);
 }
 
-NOMIPS16 int test10 (float a, float b)
+NOMICROMIPSandNOMIPS16 int test10 (float a, float b)
 {
   return __builtin_mips_cabs_seq_s (a, b);
 }
 
-NOMIPS16 int test11 (float a, float b)
+NOMICROMIPSandNOMIPS16 int test11 (float a, float b)
 {
   return __builtin_mips_cabs_ngl_s (a, b);
 }
 
-NOMIPS16 int test12 (float a, float b)
+NOMICROMIPSandNOMIPS16 int test12 (float a, float b)
 {
   return __builtin_mips_cabs_lt_s (a, b);
 }
 
-NOMIPS16 int test13 (float a, float b)
+NOMICROMIPSandNOMIPS16 int test13 (float a, float b)
 {
   return __builtin_mips_cabs_nge_s (a, b);
 }
 
-NOMIPS16 int test14 (float a, float b)
+NOMICROMIPSandNOMIPS16 int test14 (float a, float b)
 {
   return __builtin_mips_cabs_le_s (a, b);
 }
 
-NOMIPS16 int test15 (float a, float b)
+NOMICROMIPSandNOMIPS16 int test15 (float a, float b)
 {
   return __builtin_mips_cabs_ngt_s (a, b);
 }
Index: gcc.target/mips/dpaq_sa_l_w.c
===================================================================
--- gcc.target/mips/dpaq_sa_l_w.c	(revision 160766)
+++ gcc.target/mips/dpaq_sa_l_w.c	(working copy)
@@ -2,19 +2,19 @@ 
 /* { dg-options "-O2 -mgp32 -mdsp" } */
 /* { dg-final { scan-assembler-times "\tdpaq_sa.l.w\t\\\$ac" 3 } } */
 
-NOMIPS16 _Sat long long _Fract
+NOMICROMIPSandNOMIPS16 _Sat long long _Fract
 f1 (_Sat long _Fract x, _Sat long _Fract y, _Sat long long _Fract z)
 {
   return (_Sat long long _Fract) x * y + z;
 }
 
-NOMIPS16 _Sat long long _Fract
+NOMICROMIPSandNOMIPS16 _Sat long long _Fract
 f2 (_Sat long _Fract x, _Sat long _Fract y, _Sat long long _Fract z)
 {
   return z + (_Sat long long _Fract) y * x;
 }
 
-NOMIPS16 _Sat long long _Fract
+NOMICROMIPSandNOMIPS16 _Sat long long _Fract
 f3 (_Sat long _Fract x, _Sat long _Fract y, _Sat long long _Fract z)
 {
   _Sat long long _Fract t = (_Sat long long _Fract) x * y;
Index: gcc.target/mips/call-1.c
===================================================================
--- gcc.target/mips/call-1.c	(revision 160766)
+++ gcc.target/mips/call-1.c	(working copy)
@@ -9,7 +9,7 @@  __attribute__ ((noinline)) static void s
 int normal ();
 void normal2 ();
 
-NOMIPS16 f (int *p)
+NOMICROMIPSandNOMIPS16 f (int *p)
 {
   *p = normal ();
   normal2 ();
@@ -19,14 +19,14 @@  NOMIPS16 f (int *p)
 
 int tail ();
 
-NOMIPS16 h ()
+NOMICROMIPSandNOMIPS16 h ()
 {
   return tail ();
 }
 
 void tail2 ();
 
-NOMIPS16 void g ()
+NOMICROMIPSandNOMIPS16 void g ()
 {
   tail2 ();
 }
Index: gcc.target/mips/mips.exp
===================================================================
--- gcc.target/mips/mips.exp	(revision 160766)
+++ gcc.target/mips/mips.exp	(working copy)
@@ -234,6 +234,7 @@  set mips_option_groups {
     gp "-mgp(32|64)"
     long "-mlong(32|64)"
     mips16 "-mips16|-mno-mips16"
+    micromips "-mmicromips|-mno-micromips"
     mips3d "-mips3d|-mno-mips3d"
     optimization "-O(|[0-3s])"
     pic "-f(no-|)(pic|PIC)"
@@ -321,6 +322,10 @@  set mips_option_tests(-mips16) {
     jalr $3
     move $31,$2
 }
+set mips_option_tests(-mmicromips) {
+    .set micromips
+    jraddiusp 0
+}
 set mips_option_tests(-mpaired-single) {
     .set mips64
     lui $2,0x3f80
@@ -682,6 +687,12 @@  proc mips-dg-init {} {
 	    "-mno-mips16",
 	    #endif
 
+	    #ifdef __micromips
+	    "-mmicromips",
+	    #else
+	    "-mno-micromips",
+	    #endif
+
 	    #ifdef __mips3d
 	    "-mips3d",
 	    #else
@@ -1153,6 +1164,12 @@  proc mips-dg-options { args } {
 	append extra_tool_flags " -DMIPS16=__attribute__((mips16))"
     }
 
+    # If the test is microMIPS-compatible, provide a counterpart to the
+    # microMIPS convenience macro.
+    if { [mips_have_test_option_p options "-mmicromips"] } {
+	append extra_tool_flags " -DMICROMIPS=__attribute__((micromips))"
+    }
+
     # Use our version of gcc-dg-test for this test.
     if { ![string equal [info procs "mips-gcc-dg-test"] ""] } {
 	rename gcc-dg-test mips-old-gcc-dg-test
@@ -1183,6 +1200,9 @@  dg-init
 mips-dg-init
 # MIPS16 is defined by "-mips16" or "(-mips16)" in dg-options.
 dg-runtest [lsort [glob -nocomplain $srcdir/$subdir/*.c]] "" \
-    "-DNOMIPS16=__attribute__((nomips16))"
+    "-DNOMIPS16=__attribute__((nomips16)) \
+     -DNOMICROMIPS=__attribute__((nomicromips)) \
+     -DNOMICROMIPSandNOMIPS16=__attribute__((nomicromips,nomips16))" 
+
 mips-dg-finish
 dg-finish
Index: gcc.target/mips/dsp-ctrl.c
===================================================================
--- gcc.target/mips/dsp-ctrl.c	(revision 160766)
+++ gcc.target/mips/dsp-ctrl.c	(working copy)
@@ -4,27 +4,27 @@ 
 extern void abort (void);
 extern void exit (int);
 
-NOMIPS16 void __attribute__ ((noinline))
+NOMICROMIPSandNOMIPS16 void __attribute__ ((noinline))
 test1 (int i)
 {
   __builtin_mips_wrdsp (i, 63);
 }
 
-NOMIPS16 void __attribute__ ((noinline))
+NOMICROMIPSandNOMIPS16 void __attribute__ ((noinline))
 test2 ()
 {
   long long a = 0;
   __builtin_mips_extpdp (a, 3);
 }
 
-NOMIPS16 void __attribute__ ((noinline))
+NOMICROMIPSandNOMIPS16 void __attribute__ ((noinline))
 test3 (int i)
 {
   long long a = 0;
   __builtin_mips_extpdp (a, i);
 }
 
-NOMIPS16 void __attribute__ ((noinline))
+NOMICROMIPSandNOMIPS16 void __attribute__ ((noinline))
 test4 ()
 {
   long long a = 0;
@@ -32,7 +32,7 @@  test4 ()
   __builtin_mips_mthlip (a, i);
 }
 
-NOMIPS16 int
+NOMICROMIPSandNOMIPS16 int
 main ()
 {
   int cntl;
Index: gcc.target/mips/mips32-dsp-run.c
===================================================================
--- gcc.target/mips/mips32-dsp-run.c	(revision 160766)
+++ gcc.target/mips/mips32-dsp-run.c	(working copy)
@@ -12,7 +12,7 @@  typedef int q31;
 typedef int i32;
 typedef long long a64;
 
-NOMIPS16 void test_MIPS_DSP (void);
+NOMICROMIPSandNOMIPS16 void test_MIPS_DSP (void);
 
 char array[100];
 int little_endian;
@@ -33,27 +33,27 @@  int main ()
   exit (0);
 }
 
-NOMIPS16 v2q15 add_v2q15 (v2q15 a, v2q15 b)
+NOMICROMIPSandNOMIPS16 v2q15 add_v2q15 (v2q15 a, v2q15 b)
 {
   return __builtin_mips_addq_ph (a, b);
 }
 
-NOMIPS16 v4i8 add_v4i8 (v4i8 a, v4i8 b)
+NOMICROMIPSandNOMIPS16 v4i8 add_v4i8 (v4i8 a, v4i8 b)
 {
   return __builtin_mips_addu_qb (a, b);
 }
 
-NOMIPS16 v2q15 sub_v2q15 (v2q15 a, v2q15 b)
+NOMICROMIPSandNOMIPS16 v2q15 sub_v2q15 (v2q15 a, v2q15 b)
 {
   return __builtin_mips_subq_ph (a, b);
 }
 
-NOMIPS16 v4i8 sub_v4i8 (v4i8 a, v4i8 b)
+NOMICROMIPSandNOMIPS16 v4i8 sub_v4i8 (v4i8 a, v4i8 b)
 {
   return __builtin_mips_subu_qb (a, b);
 }
 
-NOMIPS16 void test_MIPS_DSP ()
+NOMICROMIPSandNOMIPS16 void test_MIPS_DSP ()
 {
   v4i8 v4i8_a,v4i8_b,v4i8_c,v4i8_r,v4i8_s;
   v2q15 v2q15_a,v2q15_b,v2q15_c,v2q15_r,v2q15_s;
Index: gcc.target/mips/r10k-cache-barrier-10.c
===================================================================
--- gcc.target/mips/r10k-cache-barrier-10.c	(revision 160766)
+++ gcc.target/mips/r10k-cache-barrier-10.c	(working copy)
@@ -4,7 +4,7 @@  int bar (int);
 /* Test that code after a branch-likely does not get an unnecessary
    cache barrier.  */
 
-NOMIPS16 void
+NOMICROMIPSandNOMIPS16 void
 foo (int n, int *x)
 {
   do
Index: gcc.target/mips/mips-3d-7.c
===================================================================
--- gcc.target/mips/mips-3d-7.c	(revision 160766)
+++ gcc.target/mips/mips-3d-7.c	(working copy)
@@ -5,24 +5,24 @@ 
 #include <stdlib.h>
 #include <stdio.h>
 
-NOMIPS16 int test0 (double a, double b);
-NOMIPS16 int test1 (double a, double b);
-NOMIPS16 int test2 (double a, double b);
-NOMIPS16 int test3 (double a, double b);
-NOMIPS16 int test4 (double a, double b);
-NOMIPS16 int test5 (double a, double b);
-NOMIPS16 int test6 (double a, double b);
-NOMIPS16 int test7 (double a, double b);
-NOMIPS16 int test8 (double a, double b);
-NOMIPS16 int test9 (double a, double b);
-NOMIPS16 int test10 (double a, double b);
-NOMIPS16 int test11 (double a, double b);
-NOMIPS16 int test12 (double a, double b);
-NOMIPS16 int test13 (double a, double b);
-NOMIPS16 int test14 (double a, double b);
-NOMIPS16 int test15 (double a, double b);
+NOMICROMIPSandNOMIPS16 int test0 (double a, double b);
+NOMICROMIPSandNOMIPS16 int test1 (double a, double b);
+NOMICROMIPSandNOMIPS16 int test2 (double a, double b);
+NOMICROMIPSandNOMIPS16 int test3 (double a, double b);
+NOMICROMIPSandNOMIPS16 int test4 (double a, double b);
+NOMICROMIPSandNOMIPS16 int test5 (double a, double b);
+NOMICROMIPSandNOMIPS16 int test6 (double a, double b);
+NOMICROMIPSandNOMIPS16 int test7 (double a, double b);
+NOMICROMIPSandNOMIPS16 int test8 (double a, double b);
+NOMICROMIPSandNOMIPS16 int test9 (double a, double b);
+NOMICROMIPSandNOMIPS16 int test10 (double a, double b);
+NOMICROMIPSandNOMIPS16 int test11 (double a, double b);
+NOMICROMIPSandNOMIPS16 int test12 (double a, double b);
+NOMICROMIPSandNOMIPS16 int test13 (double a, double b);
+NOMICROMIPSandNOMIPS16 int test14 (double a, double b);
+NOMICROMIPSandNOMIPS16 int test15 (double a, double b);
 
-NOMIPS16 int main ()
+NOMICROMIPSandNOMIPS16 int main ()
 {
   double a, b;
   int i;
@@ -203,82 +203,82 @@  NOMIPS16 int main ()
   exit (0);
 }
 
-NOMIPS16 int test0 (double a, double b)
+NOMICROMIPSandNOMIPS16 int test0 (double a, double b)
 {
   return __builtin_mips_cabs_f_d (a, b);
 }
 
-NOMIPS16 int test1 (double a, double b)
+NOMICROMIPSandNOMIPS16 int test1 (double a, double b)
 {
   return __builtin_mips_cabs_un_d (a, b);
 }
 
-NOMIPS16 int test2 (double a, double b)
+NOMICROMIPSandNOMIPS16 int test2 (double a, double b)
 {
   return __builtin_mips_cabs_eq_d (a, b);
 }
 
-NOMIPS16 int test3 (double a, double b)
+NOMICROMIPSandNOMIPS16 int test3 (double a, double b)
 {
   return __builtin_mips_cabs_ueq_d (a, b);
 }
 
-NOMIPS16 int test4 (double a, double b)
+NOMICROMIPSandNOMIPS16 int test4 (double a, double b)
 {
   return __builtin_mips_cabs_olt_d (a, b);
 }
 
-NOMIPS16 int test5 (double a, double b)
+NOMICROMIPSandNOMIPS16 int test5 (double a, double b)
 {
   return __builtin_mips_cabs_ult_d (a, b);
 }
 
-NOMIPS16 int test6 (double a, double b)
+NOMICROMIPSandNOMIPS16 int test6 (double a, double b)
 {
   return __builtin_mips_cabs_ole_d (a, b);
 }
 
-NOMIPS16 int test7 (double a, double b)
+NOMICROMIPSandNOMIPS16 int test7 (double a, double b)
 {
   return __builtin_mips_cabs_ule_d (a, b);
 }
 
-NOMIPS16 int test8 (double a, double b)
+NOMICROMIPSandNOMIPS16 int test8 (double a, double b)
 {
   return __builtin_mips_cabs_sf_d (a, b);
 }
 
-NOMIPS16 int test9 (double a, double b)
+NOMICROMIPSandNOMIPS16 int test9 (double a, double b)
 {
   return __builtin_mips_cabs_ngle_d (a, b);
 }
 
-NOMIPS16 int test10 (double a, double b)
+NOMICROMIPSandNOMIPS16 int test10 (double a, double b)
 {
   return __builtin_mips_cabs_seq_d (a, b);
 }
 
-NOMIPS16 int test11 (double a, double b)
+NOMICROMIPSandNOMIPS16 int test11 (double a, double b)
 {
   return __builtin_mips_cabs_ngl_d (a, b);
 }
 
-NOMIPS16 int test12 (double a, double b)
+NOMICROMIPSandNOMIPS16 int test12 (double a, double b)
 {
   return __builtin_mips_cabs_lt_d (a, b);
 }
 
-NOMIPS16 int test13 (double a, double b)
+NOMICROMIPSandNOMIPS16 int test13 (double a, double b)
 {
   return __builtin_mips_cabs_nge_d (a, b);
 }
 
-NOMIPS16 int test14 (double a, double b)
+NOMICROMIPSandNOMIPS16 int test14 (double a, double b)
 {
   return __builtin_mips_cabs_le_d (a, b);
 }
 
-NOMIPS16 int test15 (double a, double b)
+NOMICROMIPSandNOMIPS16 int test15 (double a, double b)
 {
   return __builtin_mips_cabs_ngt_d (a, b);
 }
Index: gcc.target/mips/dspr2-MULT.c
===================================================================
--- gcc.target/mips/dspr2-MULT.c	(revision 160766)
+++ gcc.target/mips/dspr2-MULT.c	(working copy)
@@ -9,7 +9,7 @@ 
 
 typedef long long a64;
 
-NOMIPS16 a64 test (a64 *a, int *b, int *c)
+NOMICROMIPSandNOMIPS16 a64 test (a64 *a, int *b, int *c)
 {
   a[0] = (a64) b[0] * c[0];
   a[1] = (a64) b[1] * c[1];
Index: gcc.target/mips/mips32-dsp-type.c
===================================================================
--- gcc.target/mips/mips32-dsp-type.c	(revision 160766)
+++ gcc.target/mips/mips32-dsp-type.c	(working copy)
@@ -9,22 +9,22 @@ 
 typedef char v4qi __attribute__ ((vector_size(4)));
 typedef short v2hi __attribute__ ((vector_size(4)));
 
-NOMIPS16 v2hi add_v2hi (v2hi a, v2hi b)
+NOMICROMIPSandNOMIPS16 v2hi add_v2hi (v2hi a, v2hi b)
 {
   return a + b;
 }
 
-NOMIPS16 v4qi add_v4qi (v4qi a, v4qi b)
+NOMICROMIPSandNOMIPS16 v4qi add_v4qi (v4qi a, v4qi b)
 {
   return a + b;
 }
 
-NOMIPS16 v2hi sub_v2hi (v2hi a, v2hi b)
+NOMICROMIPSandNOMIPS16 v2hi sub_v2hi (v2hi a, v2hi b)
 {
   return a - b;
 }
 
-NOMIPS16 v4qi sub_v4qi (v4qi a, v4qi b)
+NOMICROMIPSandNOMIPS16 v4qi sub_v4qi (v4qi a, v4qi b)
 {
   return a - b;
 }
Index: gcc.target/mips/no-smartmips-lwxs.c
===================================================================
--- gcc.target/mips/no-smartmips-lwxs.c	(revision 160766)
+++ gcc.target/mips/no-smartmips-lwxs.c	(working copy)
@@ -1,7 +1,7 @@ 
 /* { dg-do compile } */
 /* { dg-options "-O -mno-smartmips" } */
 
-NOMIPS16 int scaled_indexed_word_load (int a[], int b)
+NOMICROMIPSandNOMIPS16 int scaled_indexed_word_load (int a[], int b)
 {
   return a[b];
 }
Index: gcc.target/mips/mips-3d-8.c
===================================================================
--- gcc.target/mips/mips-3d-8.c	(revision 160766)
+++ gcc.target/mips/mips-3d-8.c	(working copy)
@@ -7,42 +7,42 @@ 
 
 typedef float v2sf __attribute__((vector_size(8)));
 
-NOMIPS16 v2sf test0 (v2sf a, v2sf b, v2sf c, v2sf d);
-NOMIPS16 v2sf test1 (v2sf a, v2sf b, v2sf c, v2sf d);
-NOMIPS16 v2sf test2 (v2sf a, v2sf b, v2sf c, v2sf d);
-NOMIPS16 v2sf test3 (v2sf a, v2sf b, v2sf c, v2sf d);
-NOMIPS16 v2sf test4 (v2sf a, v2sf b, v2sf c, v2sf d);
-NOMIPS16 v2sf test5 (v2sf a, v2sf b, v2sf c, v2sf d);
-NOMIPS16 v2sf test6 (v2sf a, v2sf b, v2sf c, v2sf d);
-NOMIPS16 v2sf test7 (v2sf a, v2sf b, v2sf c, v2sf d);
-NOMIPS16 v2sf test8 (v2sf a, v2sf b, v2sf c, v2sf d);
-NOMIPS16 v2sf test9 (v2sf a, v2sf b, v2sf c, v2sf d);
-NOMIPS16 v2sf test10 (v2sf a, v2sf b, v2sf c, v2sf d);
-NOMIPS16 v2sf test11 (v2sf a, v2sf b, v2sf c, v2sf d);
-NOMIPS16 v2sf test12 (v2sf a, v2sf b, v2sf c, v2sf d);
-NOMIPS16 v2sf test13 (v2sf a, v2sf b, v2sf c, v2sf d);
-NOMIPS16 v2sf test14 (v2sf a, v2sf b, v2sf c, v2sf d);
-NOMIPS16 v2sf test15 (v2sf a, v2sf b, v2sf c, v2sf d);
-NOMIPS16 v2sf test16 (v2sf a, v2sf b, v2sf c, v2sf d);
-NOMIPS16 v2sf test17 (v2sf a, v2sf b, v2sf c, v2sf d);
-NOMIPS16 v2sf test18 (v2sf a, v2sf b, v2sf c, v2sf d);
-NOMIPS16 v2sf test19 (v2sf a, v2sf b, v2sf c, v2sf d);
-NOMIPS16 v2sf test20 (v2sf a, v2sf b, v2sf c, v2sf d);
-NOMIPS16 v2sf test21 (v2sf a, v2sf b, v2sf c, v2sf d);
-NOMIPS16 v2sf test22 (v2sf a, v2sf b, v2sf c, v2sf d);
-NOMIPS16 v2sf test23 (v2sf a, v2sf b, v2sf c, v2sf d);
-NOMIPS16 v2sf test24 (v2sf a, v2sf b, v2sf c, v2sf d);
-NOMIPS16 v2sf test25 (v2sf a, v2sf b, v2sf c, v2sf d);
-NOMIPS16 v2sf test26 (v2sf a, v2sf b, v2sf c, v2sf d);
-NOMIPS16 v2sf test27 (v2sf a, v2sf b, v2sf c, v2sf d);
-NOMIPS16 v2sf test28 (v2sf a, v2sf b, v2sf c, v2sf d);
-NOMIPS16 v2sf test29 (v2sf a, v2sf b, v2sf c, v2sf d);
-NOMIPS16 v2sf test30 (v2sf a, v2sf b, v2sf c, v2sf d);
-NOMIPS16 v2sf test31 (v2sf a, v2sf b, v2sf c, v2sf d);
+NOMICROMIPSandNOMIPS16 v2sf test0 (v2sf a, v2sf b, v2sf c, v2sf d);
+NOMICROMIPSandNOMIPS16 v2sf test1 (v2sf a, v2sf b, v2sf c, v2sf d);
+NOMICROMIPSandNOMIPS16 v2sf test2 (v2sf a, v2sf b, v2sf c, v2sf d);
+NOMICROMIPSandNOMIPS16 v2sf test3 (v2sf a, v2sf b, v2sf c, v2sf d);
+NOMICROMIPSandNOMIPS16 v2sf test4 (v2sf a, v2sf b, v2sf c, v2sf d);
+NOMICROMIPSandNOMIPS16 v2sf test5 (v2sf a, v2sf b, v2sf c, v2sf d);
+NOMICROMIPSandNOMIPS16 v2sf test6 (v2sf a, v2sf b, v2sf c, v2sf d);
+NOMICROMIPSandNOMIPS16 v2sf test7 (v2sf a, v2sf b, v2sf c, v2sf d);
+NOMICROMIPSandNOMIPS16 v2sf test8 (v2sf a, v2sf b, v2sf c, v2sf d);
+NOMICROMIPSandNOMIPS16 v2sf test9 (v2sf a, v2sf b, v2sf c, v2sf d);
+NOMICROMIPSandNOMIPS16 v2sf test10 (v2sf a, v2sf b, v2sf c, v2sf d);
+NOMICROMIPSandNOMIPS16 v2sf test11 (v2sf a, v2sf b, v2sf c, v2sf d);
+NOMICROMIPSandNOMIPS16 v2sf test12 (v2sf a, v2sf b, v2sf c, v2sf d);
+NOMICROMIPSandNOMIPS16 v2sf test13 (v2sf a, v2sf b, v2sf c, v2sf d);
+NOMICROMIPSandNOMIPS16 v2sf test14 (v2sf a, v2sf b, v2sf c, v2sf d);
+NOMICROMIPSandNOMIPS16 v2sf test15 (v2sf a, v2sf b, v2sf c, v2sf d);
+NOMICROMIPSandNOMIPS16 v2sf test16 (v2sf a, v2sf b, v2sf c, v2sf d);
+NOMICROMIPSandNOMIPS16 v2sf test17 (v2sf a, v2sf b, v2sf c, v2sf d);
+NOMICROMIPSandNOMIPS16 v2sf test18 (v2sf a, v2sf b, v2sf c, v2sf d);
+NOMICROMIPSandNOMIPS16 v2sf test19 (v2sf a, v2sf b, v2sf c, v2sf d);
+NOMICROMIPSandNOMIPS16 v2sf test20 (v2sf a, v2sf b, v2sf c, v2sf d);
+NOMICROMIPSandNOMIPS16 v2sf test21 (v2sf a, v2sf b, v2sf c, v2sf d);
+NOMICROMIPSandNOMIPS16 v2sf test22 (v2sf a, v2sf b, v2sf c, v2sf d);
+NOMICROMIPSandNOMIPS16 v2sf test23 (v2sf a, v2sf b, v2sf c, v2sf d);
+NOMICROMIPSandNOMIPS16 v2sf test24 (v2sf a, v2sf b, v2sf c, v2sf d);
+NOMICROMIPSandNOMIPS16 v2sf test25 (v2sf a, v2sf b, v2sf c, v2sf d);
+NOMICROMIPSandNOMIPS16 v2sf test26 (v2sf a, v2sf b, v2sf c, v2sf d);
+NOMICROMIPSandNOMIPS16 v2sf test27 (v2sf a, v2sf b, v2sf c, v2sf d);
+NOMICROMIPSandNOMIPS16 v2sf test28 (v2sf a, v2sf b, v2sf c, v2sf d);
+NOMICROMIPSandNOMIPS16 v2sf test29 (v2sf a, v2sf b, v2sf c, v2sf d);
+NOMICROMIPSandNOMIPS16 v2sf test30 (v2sf a, v2sf b, v2sf c, v2sf d);
+NOMICROMIPSandNOMIPS16 v2sf test31 (v2sf a, v2sf b, v2sf c, v2sf d);
 
 float qnan = 1.0f/0.0f - 1.0f/0.0f;
 
-NOMIPS16 int main ()
+NOMICROMIPSandNOMIPS16 int main ()
 {
   v2sf a, b, c, d, e, f;
 
@@ -469,162 +469,162 @@  NOMIPS16 int main ()
   exit (0);
 }
 
-NOMIPS16 v2sf test0 (v2sf a, v2sf b, v2sf c, v2sf d)
+NOMICROMIPSandNOMIPS16 v2sf test0 (v2sf a, v2sf b, v2sf c, v2sf d)
 {
   return  __builtin_mips_movt_cabs_f_ps (a, b, c, d);
 }
 
-NOMIPS16 v2sf test1 (v2sf a, v2sf b, v2sf c, v2sf d)
+NOMICROMIPSandNOMIPS16 v2sf test1 (v2sf a, v2sf b, v2sf c, v2sf d)
 {
   return  __builtin_mips_movf_cabs_f_ps (a, b, c, d);
 }
 
-NOMIPS16 v2sf test2 (v2sf a, v2sf b, v2sf c, v2sf d)
+NOMICROMIPSandNOMIPS16 v2sf test2 (v2sf a, v2sf b, v2sf c, v2sf d)
 {
   return  __builtin_mips_movt_cabs_un_ps (a, b, c, d);
 }
 
-NOMIPS16 v2sf test3 (v2sf a, v2sf b, v2sf c, v2sf d)
+NOMICROMIPSandNOMIPS16 v2sf test3 (v2sf a, v2sf b, v2sf c, v2sf d)
 {
   return  __builtin_mips_movf_cabs_un_ps (a, b, c, d);
 }
 
-NOMIPS16 v2sf test4 (v2sf a, v2sf b, v2sf c, v2sf d)
+NOMICROMIPSandNOMIPS16 v2sf test4 (v2sf a, v2sf b, v2sf c, v2sf d)
 {
   return  __builtin_mips_movt_cabs_eq_ps (a, b, c, d);
 }
 
-NOMIPS16 v2sf test5 (v2sf a, v2sf b, v2sf c, v2sf d)
+NOMICROMIPSandNOMIPS16 v2sf test5 (v2sf a, v2sf b, v2sf c, v2sf d)
 {
   return  __builtin_mips_movf_cabs_eq_ps (a, b, c, d);
 }
 
-NOMIPS16 v2sf test6 (v2sf a, v2sf b, v2sf c, v2sf d)
+NOMICROMIPSandNOMIPS16 v2sf test6 (v2sf a, v2sf b, v2sf c, v2sf d)
 {
   return  __builtin_mips_movt_cabs_ueq_ps (a, b, c, d);
 }
 
-NOMIPS16 v2sf test7 (v2sf a, v2sf b, v2sf c, v2sf d)
+NOMICROMIPSandNOMIPS16 v2sf test7 (v2sf a, v2sf b, v2sf c, v2sf d)
 {
   return  __builtin_mips_movf_cabs_ueq_ps (a, b, c, d);
 }
 
-NOMIPS16 v2sf test8 (v2sf a, v2sf b, v2sf c, v2sf d)
+NOMICROMIPSandNOMIPS16 v2sf test8 (v2sf a, v2sf b, v2sf c, v2sf d)
 {
   return  __builtin_mips_movt_cabs_olt_ps (a, b, c, d);
 }
 
-NOMIPS16 v2sf test9 (v2sf a, v2sf b, v2sf c, v2sf d)
+NOMICROMIPSandNOMIPS16 v2sf test9 (v2sf a, v2sf b, v2sf c, v2sf d)
 {
   return  __builtin_mips_movf_cabs_olt_ps (a, b, c, d);
 }
 
-NOMIPS16 v2sf test10 (v2sf a, v2sf b, v2sf c, v2sf d)
+NOMICROMIPSandNOMIPS16 v2sf test10 (v2sf a, v2sf b, v2sf c, v2sf d)
 {
   return  __builtin_mips_movt_cabs_ult_ps (a, b, c, d);
 }
 
-NOMIPS16 v2sf test11 (v2sf a, v2sf b, v2sf c, v2sf d)
+NOMICROMIPSandNOMIPS16 v2sf test11 (v2sf a, v2sf b, v2sf c, v2sf d)
 {
   return  __builtin_mips_movf_cabs_ult_ps (a, b, c, d);
 }
 
-NOMIPS16 v2sf test12 (v2sf a, v2sf b, v2sf c, v2sf d)
+NOMICROMIPSandNOMIPS16 v2sf test12 (v2sf a, v2sf b, v2sf c, v2sf d)
 {
   return  __builtin_mips_movt_cabs_ole_ps (a, b, c, d);
 }
 
-NOMIPS16 v2sf test13 (v2sf a, v2sf b, v2sf c, v2sf d)
+NOMICROMIPSandNOMIPS16 v2sf test13 (v2sf a, v2sf b, v2sf c, v2sf d)
 {
   return  __builtin_mips_movf_cabs_ole_ps (a, b, c, d);
 }
 
-NOMIPS16 v2sf test14 (v2sf a, v2sf b, v2sf c, v2sf d)
+NOMICROMIPSandNOMIPS16 v2sf test14 (v2sf a, v2sf b, v2sf c, v2sf d)
 {
   return  __builtin_mips_movt_cabs_ule_ps (a, b, c, d);
 }
 
-NOMIPS16 v2sf test15 (v2sf a, v2sf b, v2sf c, v2sf d)
+NOMICROMIPSandNOMIPS16 v2sf test15 (v2sf a, v2sf b, v2sf c, v2sf d)
 {
   return  __builtin_mips_movf_cabs_ule_ps (a, b, c, d);
 }
 
-NOMIPS16 v2sf test16 (v2sf a, v2sf b, v2sf c, v2sf d)
+NOMICROMIPSandNOMIPS16 v2sf test16 (v2sf a, v2sf b, v2sf c, v2sf d)
 {
   return  __builtin_mips_movt_cabs_sf_ps (a, b, c, d);
 }
 
-NOMIPS16 v2sf test17 (v2sf a, v2sf b, v2sf c, v2sf d)
+NOMICROMIPSandNOMIPS16 v2sf test17 (v2sf a, v2sf b, v2sf c, v2sf d)
 {
   return  __builtin_mips_movf_cabs_sf_ps (a, b, c, d);
 }
 
-NOMIPS16 v2sf test18 (v2sf a, v2sf b, v2sf c, v2sf d)
+NOMICROMIPSandNOMIPS16 v2sf test18 (v2sf a, v2sf b, v2sf c, v2sf d)
 {
   return  __builtin_mips_movt_cabs_ngle_ps (a, b, c, d);
 }
 
-NOMIPS16 v2sf test19 (v2sf a, v2sf b, v2sf c, v2sf d)
+NOMICROMIPSandNOMIPS16 v2sf test19 (v2sf a, v2sf b, v2sf c, v2sf d)
 {
   return  __builtin_mips_movf_cabs_ngle_ps (a, b, c, d);
 }
 
-NOMIPS16 v2sf test20 (v2sf a, v2sf b, v2sf c, v2sf d)
+NOMICROMIPSandNOMIPS16 v2sf test20 (v2sf a, v2sf b, v2sf c, v2sf d)
 {
   return  __builtin_mips_movt_cabs_seq_ps (a, b, c, d);
 }
 
-NOMIPS16 v2sf test21 (v2sf a, v2sf b, v2sf c, v2sf d)
+NOMICROMIPSandNOMIPS16 v2sf test21 (v2sf a, v2sf b, v2sf c, v2sf d)
 {
   return  __builtin_mips_movf_cabs_seq_ps (a, b, c, d);
 }
 
-NOMIPS16 v2sf test22 (v2sf a, v2sf b, v2sf c, v2sf d)
+NOMICROMIPSandNOMIPS16 v2sf test22 (v2sf a, v2sf b, v2sf c, v2sf d)
 {
   return  __builtin_mips_movt_cabs_ngl_ps (a, b, c, d);
 }
 
-NOMIPS16 v2sf test23 (v2sf a, v2sf b, v2sf c, v2sf d)
+NOMICROMIPSandNOMIPS16 v2sf test23 (v2sf a, v2sf b, v2sf c, v2sf d)
 {
   return  __builtin_mips_movf_cabs_ngl_ps (a, b, c, d);
 }
 
-NOMIPS16 v2sf test24 (v2sf a, v2sf b, v2sf c, v2sf d)
+NOMICROMIPSandNOMIPS16 v2sf test24 (v2sf a, v2sf b, v2sf c, v2sf d)
 {
   return  __builtin_mips_movt_cabs_lt_ps (a, b, c, d);
 }
 
-NOMIPS16 v2sf test25 (v2sf a, v2sf b, v2sf c, v2sf d)
+NOMICROMIPSandNOMIPS16 v2sf test25 (v2sf a, v2sf b, v2sf c, v2sf d)
 {
   return  __builtin_mips_movf_cabs_lt_ps (a, b, c, d);
 }
 
-NOMIPS16 v2sf test26 (v2sf a, v2sf b, v2sf c, v2sf d)
+NOMICROMIPSandNOMIPS16 v2sf test26 (v2sf a, v2sf b, v2sf c, v2sf d)
 {
   return  __builtin_mips_movt_cabs_nge_ps (a, b, c, d);
 }
 
-NOMIPS16 v2sf test27 (v2sf a, v2sf b, v2sf c, v2sf d)
+NOMICROMIPSandNOMIPS16 v2sf test27 (v2sf a, v2sf b, v2sf c, v2sf d)
 {
   return  __builtin_mips_movf_cabs_nge_ps (a, b, c, d);
 }
 
-NOMIPS16 v2sf test28 (v2sf a, v2sf b, v2sf c, v2sf d)
+NOMICROMIPSandNOMIPS16 v2sf test28 (v2sf a, v2sf b, v2sf c, v2sf d)
 {
   return  __builtin_mips_movt_cabs_le_ps (a, b, c, d);
 }
 
-NOMIPS16 v2sf test29 (v2sf a, v2sf b, v2sf c, v2sf d)
+NOMICROMIPSandNOMIPS16 v2sf test29 (v2sf a, v2sf b, v2sf c, v2sf d)
 {
   return  __builtin_mips_movf_cabs_le_ps (a, b, c, d);
 }
 
-NOMIPS16 v2sf test30 (v2sf a, v2sf b, v2sf c, v2sf d)
+NOMICROMIPSandNOMIPS16 v2sf test30 (v2sf a, v2sf b, v2sf c, v2sf d)
 {
   return  __builtin_mips_movt_cabs_ngt_ps (a, b, c, d);
 }
 
-NOMIPS16 v2sf test31 (v2sf a, v2sf b, v2sf c, v2sf d)
+NOMICROMIPSandNOMIPS16 v2sf test31 (v2sf a, v2sf b, v2sf c, v2sf d)
 {
   return  __builtin_mips_movf_cabs_ngt_ps (a, b, c, d);
 }
Index: gcc.target/mips/dsp-lhx.c
===================================================================
--- gcc.target/mips/dsp-lhx.c	(revision 160766)
+++ gcc.target/mips/dsp-lhx.c	(working copy)
@@ -4,7 +4,7 @@ 
 
 /* { dg-final { scan-assembler "\tlhx\t" } } */
 
-NOMIPS16 signed short test (signed short *a, int index)
+NOMICROMIPSandNOMIPS16 signed short test (signed short *a, int index)
 {
   return a[index];
 }
Index: gcc.target/mips/dpsq_sa_l_w.c
===================================================================
--- gcc.target/mips/dpsq_sa_l_w.c	(revision 160766)
+++ gcc.target/mips/dpsq_sa_l_w.c	(working copy)
@@ -2,13 +2,13 @@ 
 /* { dg-options "-O2 -mgp32 -mdsp" } */
 /* { dg-final { scan-assembler-times "\tdpsq_sa.l.w\t\\\$ac" 2 } } */
 
-NOMIPS16 _Sat long long _Fract
+NOMICROMIPSandNOMIPS16 _Sat long long _Fract
 f1 (_Sat long _Fract x, _Sat long _Fract y, _Sat long long _Fract z)
 {
   return z - (_Sat long long _Fract) x * y;
 }
 
-NOMIPS16 _Sat long long _Fract
+NOMICROMIPSandNOMIPS16 _Sat long long _Fract
 f2 (_Sat long _Fract x, _Sat long _Fract y, _Sat long long _Fract z)
 {
   _Sat long long _Fract t = (_Sat long long _Fract) x * y;
Index: gcc.target/mips/mips-3d-1.c
===================================================================
--- gcc.target/mips/mips-3d-1.c	(revision 160766)
+++ gcc.target/mips/mips-3d-1.c	(working copy)
@@ -7,7 +7,7 @@ 
 
 typedef float v2sf __attribute__ ((vector_size(8)));
 
-NOMIPS16 int main ()
+NOMICROMIPSandNOMIPS16 int main ()
 {
   int little_endian;
   v2sf a, b, c, d;
Index: gcc.target/mips/mips-3d-9.c
===================================================================
--- gcc.target/mips/mips-3d-9.c	(revision 160766)
+++ gcc.target/mips/mips-3d-9.c	(working copy)
@@ -19,9 +19,9 @@  float e[4]; /* Result for matrix_multipl
 float f[4]; /* Result for matrix_multiply4() */
 
 void matrix_multiply1();
-NOMIPS16 void matrix_multiply2();
-NOMIPS16 void matrix_multiply3();
-NOMIPS16 void matrix_multiply4();
+NOMICROMIPSandNOMIPS16 void matrix_multiply2();
+NOMICROMIPSandNOMIPS16 void matrix_multiply3();
+NOMICROMIPSandNOMIPS16 void matrix_multiply4();
 
 int main ()
 {
@@ -65,7 +65,7 @@  void matrix_multiply1()
    }
 }
 
-NOMIPS16 void matrix_multiply2()
+NOMICROMIPSandNOMIPS16 void matrix_multiply2()
 {
   int i, j;
   v2sf m1, m2;
@@ -91,7 +91,7 @@  NOMIPS16 void matrix_multiply2()
    }
 }
 
-NOMIPS16 void matrix_multiply3()
+NOMICROMIPSandNOMIPS16 void matrix_multiply3()
 {
   int i;
   v2sf m1, m2, n1, n2;
@@ -114,7 +114,7 @@  NOMIPS16 void matrix_multiply3()
    }
 }
 
-NOMIPS16 void matrix_multiply4()
+NOMICROMIPSandNOMIPS16 void matrix_multiply4()
 {
   v2sf m1, m2;
   v2sf n1, n2, n3, n4, n5, n6, n7, n8;
Index: gcc.target/mips/near-far-1.c
===================================================================
--- gcc.target/mips/near-far-1.c	(revision 160766)
+++ gcc.target/mips/near-far-1.c	(working copy)
@@ -16,5 +16,5 @@  int test ()
 
 /* { dg-final { scan-assembler-not "\tjal\tlong_call_func\n" } } */
 /* { dg-final { scan-assembler-not "\tjal\tfar_func\n" } } */
-/* { dg-final { scan-assembler     "\tjal\tnear_func\n" } } */
+/* { dg-final { scan-assembler     "\tjals?\tnear_func\n" } } */
 /* { dg-final { scan-assembler-not "\tjal\tnormal_func\n" } } */
Index: gcc.target/mips/dsp-no-lhx.c
===================================================================
--- gcc.target/mips/dsp-no-lhx.c	(revision 160766)
+++ gcc.target/mips/dsp-no-lhx.c	(working copy)
@@ -4,7 +4,7 @@ 
 
 /* { dg-final { scan-assembler-not "\tlhx\t" } } */
 
-NOMIPS16 unsigned short test (unsigned short *a, int index)
+NOMICROMIPSandNOMIPS16 unsigned short test (unsigned short *a, int index)
 {
   return a[index];
 }
Index: gcc.target/mips/mips-3d-2.c
===================================================================
--- gcc.target/mips/mips-3d-2.c	(revision 160766)
+++ gcc.target/mips/mips-3d-2.c	(working copy)
@@ -42,7 +42,7 @@  NOMIPS16 int test31 (v2sf a, v2sf b);
 
 float qnan = 1.0f/0.0f - 1.0f/0.0f;
 
-NOMIPS16 int main ()
+NOMICROMIPSandNOMIPS16 int main ()
 {
   v2sf a, b, c, d;
   int i, j;
@@ -393,162 +393,162 @@  NOMIPS16 int main ()
   exit (0);
 }
 
-NOMIPS16 int test0 (v2sf a, v2sf b)
+NOMICROMIPSandNOMIPS16 int test0 (v2sf a, v2sf b)
 {
   return __builtin_mips_any_c_f_ps (a, b);
 }
 
-NOMIPS16 int test1 (v2sf a, v2sf b)
+NOMICROMIPSandNOMIPS16 int test1 (v2sf a, v2sf b)
 {
   return __builtin_mips_all_c_f_ps (a, b);
 }
 
-NOMIPS16 int test2 (v2sf a, v2sf b)
+NOMICROMIPSandNOMIPS16 int test2 (v2sf a, v2sf b)
 {
   return __builtin_mips_any_c_un_ps (a, b);
 }
 
-NOMIPS16 int test3 (v2sf a, v2sf b)
+NOMICROMIPSandNOMIPS16 int test3 (v2sf a, v2sf b)
 {
   return __builtin_mips_all_c_un_ps (a, b);
 }
 
-NOMIPS16 int test4 (v2sf a, v2sf b)
+NOMICROMIPSandNOMIPS16 int test4 (v2sf a, v2sf b)
 {
   return __builtin_mips_any_c_eq_ps (a, b);
 }
 
-NOMIPS16 int test5 (v2sf a, v2sf b)
+NOMICROMIPSandNOMIPS16 int test5 (v2sf a, v2sf b)
 {
   return __builtin_mips_all_c_eq_ps (a, b);
 }
 
-NOMIPS16 int test6 (v2sf a, v2sf b)
+NOMICROMIPSandNOMIPS16 int test6 (v2sf a, v2sf b)
 {
   return __builtin_mips_any_c_ueq_ps (a, b);
 }
 
-NOMIPS16 int test7 (v2sf a, v2sf b)
+NOMICROMIPSandNOMIPS16 int test7 (v2sf a, v2sf b)
 {
   return __builtin_mips_all_c_ueq_ps (a, b);
 }
 
-NOMIPS16 int test8 (v2sf a, v2sf b)
+NOMICROMIPSandNOMIPS16 int test8 (v2sf a, v2sf b)
 {
   return __builtin_mips_any_c_olt_ps (a, b);
 }
 
-NOMIPS16 int test9 (v2sf a, v2sf b)
+NOMICROMIPSandNOMIPS16 int test9 (v2sf a, v2sf b)
 {
   return __builtin_mips_all_c_olt_ps (a, b);
 }
 
-NOMIPS16 int test10 (v2sf a, v2sf b)
+NOMICROMIPSandNOMIPS16 int test10 (v2sf a, v2sf b)
 {
   return __builtin_mips_any_c_ult_ps (a, b);
 }
 
-NOMIPS16 int test11 (v2sf a, v2sf b)
+NOMICROMIPSandNOMIPS16 int test11 (v2sf a, v2sf b)
 {
   return __builtin_mips_all_c_ult_ps (a, b);
 }
 
-NOMIPS16 int test12 (v2sf a, v2sf b)
+NOMICROMIPSandNOMIPS16 int test12 (v2sf a, v2sf b)
 {
   return __builtin_mips_any_c_ole_ps (a, b);
 }
 
-NOMIPS16 int test13 (v2sf a, v2sf b)
+NOMICROMIPSandNOMIPS16 int test13 (v2sf a, v2sf b)
 {
   return __builtin_mips_all_c_ole_ps (a, b);
 }
 
-NOMIPS16 int test14 (v2sf a, v2sf b)
+NOMICROMIPSandNOMIPS16 int test14 (v2sf a, v2sf b)
 {
   return __builtin_mips_any_c_ule_ps (a, b);
 }
 
-NOMIPS16 int test15 (v2sf a, v2sf b)
+NOMICROMIPSandNOMIPS16 int test15 (v2sf a, v2sf b)
 {
   return __builtin_mips_all_c_ule_ps (a, b);
 }
 
-NOMIPS16 int test16 (v2sf a, v2sf b)
+NOMICROMIPSandNOMIPS16 int test16 (v2sf a, v2sf b)
 {
   return __builtin_mips_any_c_sf_ps (a, b);
 }
 
-NOMIPS16 int test17 (v2sf a, v2sf b)
+NOMICROMIPSandNOMIPS16 int test17 (v2sf a, v2sf b)
 {
   return __builtin_mips_all_c_sf_ps (a, b);
 }
 
-NOMIPS16 int test18 (v2sf a, v2sf b)
+NOMICROMIPSandNOMIPS16 int test18 (v2sf a, v2sf b)
 {
   return __builtin_mips_any_c_ngle_ps (a, b);
 }
 
-NOMIPS16 int test19 (v2sf a, v2sf b)
+NOMICROMIPSandNOMIPS16 int test19 (v2sf a, v2sf b)
 {
   return __builtin_mips_all_c_ngle_ps (a, b);
 }
 
-NOMIPS16 int test20 (v2sf a, v2sf b)
+NOMICROMIPSandNOMIPS16 int test20 (v2sf a, v2sf b)
 {
   return __builtin_mips_any_c_seq_ps (a, b);
 }
 
-NOMIPS16 int test21 (v2sf a, v2sf b)
+NOMICROMIPSandNOMIPS16 int test21 (v2sf a, v2sf b)
 {
   return __builtin_mips_all_c_seq_ps (a, b);
 }
 
-NOMIPS16 int test22 (v2sf a, v2sf b)
+NOMICROMIPSandNOMIPS16 int test22 (v2sf a, v2sf b)
 {
   return __builtin_mips_any_c_ngl_ps (a, b);
 }
 
-NOMIPS16 int test23 (v2sf a, v2sf b)
+NOMICROMIPSandNOMIPS16 int test23 (v2sf a, v2sf b)
 {
   return __builtin_mips_all_c_ngl_ps (a, b);
 }
 
-NOMIPS16 int test24 (v2sf a, v2sf b)
+NOMICROMIPSandNOMIPS16 int test24 (v2sf a, v2sf b)
 {
   return __builtin_mips_any_c_lt_ps (a, b);
 }
 
-NOMIPS16 int test25 (v2sf a, v2sf b)
+NOMICROMIPSandNOMIPS16 int test25 (v2sf a, v2sf b)
 {
   return __builtin_mips_all_c_lt_ps (a, b);
 }
 
-NOMIPS16 int test26 (v2sf a, v2sf b)
+NOMICROMIPSandNOMIPS16 int test26 (v2sf a, v2sf b)
 {
   return __builtin_mips_any_c_nge_ps (a, b);
 }
 
-NOMIPS16 int test27 (v2sf a, v2sf b)
+NOMICROMIPSandNOMIPS16 int test27 (v2sf a, v2sf b)
 {
   return __builtin_mips_all_c_nge_ps (a, b);
 }
 
-NOMIPS16 int test28 (v2sf a, v2sf b)
+NOMICROMIPSandNOMIPS16 int test28 (v2sf a, v2sf b)
 {
   return __builtin_mips_any_c_le_ps (a, b);
 }
 
-NOMIPS16 int test29 (v2sf a, v2sf b)
+NOMICROMIPSandNOMIPS16 int test29 (v2sf a, v2sf b)
 {
   return __builtin_mips_all_c_le_ps (a, b);
 }
 
-NOMIPS16 int test30 (v2sf a, v2sf b)
+NOMICROMIPSandNOMIPS16 int test30 (v2sf a, v2sf b)
 {
   return __builtin_mips_any_c_ngt_ps (a, b);
 }
 
-NOMIPS16 int test31 (v2sf a, v2sf b)
+NOMICROMIPSandNOMIPS16 int test31 (v2sf a, v2sf b)
 {
   return __builtin_mips_all_c_ngt_ps (a, b);
 }
Index: gcc.target/mips/fixed-scalar-type.c
===================================================================
--- gcc.target/mips/fixed-scalar-type.c	(revision 160766)
+++ gcc.target/mips/fixed-scalar-type.c	(working copy)
@@ -120,98 +120,98 @@  unsigned _Accum non_sat_test20 (unsigned
   return a - b;
 }
 
-NOMIPS16 _Sat unsigned short _Fract test1 (_Sat unsigned short _Fract a,
+NOMICROMIPSandNOMIPS16 _Sat unsigned short _Fract test1 (_Sat unsigned short _Fract a,
 					   _Sat unsigned short _Fract b)
 {
   return a + b;
 }
 
-NOMIPS16 _Sat unsigned _Fract test2 (_Sat unsigned  _Fract a,
+NOMICROMIPSandNOMIPS16 _Sat unsigned _Fract test2 (_Sat unsigned  _Fract a,
 				     _Sat unsigned _Fract b)
 {
   return a + b;
 }
 
-NOMIPS16 _Sat unsigned short _Accum test3 (_Sat unsigned short _Accum a,
+NOMICROMIPSandNOMIPS16 _Sat unsigned short _Accum test3 (_Sat unsigned short _Accum a,
 					   _Sat unsigned short _Accum b)
 {
   return a + b;
 }
 
-NOMIPS16 _Sat _Fract test4 (_Sat _Fract a, _Sat _Fract b)
+NOMICROMIPSandNOMIPS16 _Sat _Fract test4 (_Sat _Fract a, _Sat _Fract b)
 {
   return a + b;
 }
 
-NOMIPS16 _Sat long _Fract test5 (_Sat long _Fract a, _Sat long _Fract b)
+NOMICROMIPSandNOMIPS16 _Sat long _Fract test5 (_Sat long _Fract a, _Sat long _Fract b)
 {
   return a + b;
 }
 
-NOMIPS16 _Sat short _Accum test6 (_Sat short _Accum a, _Sat short _Accum b)
+NOMICROMIPSandNOMIPS16 _Sat short _Accum test6 (_Sat short _Accum a, _Sat short _Accum b)
 {
   return a + b;
 }
 
-NOMIPS16 _Sat _Accum test7 (_Sat _Accum a, _Sat _Accum b)
+NOMICROMIPSandNOMIPS16 _Sat _Accum test7 (_Sat _Accum a, _Sat _Accum b)
 {
   return a + b;
 }
 
-NOMIPS16 _Sat unsigned short _Fract test8 (_Sat unsigned short _Fract a,
+NOMICROMIPSandNOMIPS16 _Sat unsigned short _Fract test8 (_Sat unsigned short _Fract a,
 					   _Sat unsigned short _Fract b)
 {
   return a - b;
 }
 
-NOMIPS16 _Sat unsigned _Fract test9 (_Sat unsigned  _Fract a,
+NOMICROMIPSandNOMIPS16 _Sat unsigned _Fract test9 (_Sat unsigned  _Fract a,
 				     _Sat unsigned _Fract b)
 {
   return a - b;
 }
 
-NOMIPS16 _Sat unsigned short _Accum test10 (_Sat unsigned short _Accum a,
+NOMICROMIPSandNOMIPS16 _Sat unsigned short _Accum test10 (_Sat unsigned short _Accum a,
 					    _Sat unsigned short _Accum b)
 {
   return a - b;
 }
 
-NOMIPS16 _Sat _Fract test11 (_Sat _Fract a, _Sat _Fract b)
+NOMICROMIPSandNOMIPS16 _Sat _Fract test11 (_Sat _Fract a, _Sat _Fract b)
 {
   return a - b;
 }
 
-NOMIPS16 _Sat long _Fract test12 (_Sat long _Fract a, _Sat long _Fract b)
+NOMICROMIPSandNOMIPS16 _Sat long _Fract test12 (_Sat long _Fract a, _Sat long _Fract b)
 {
   return a - b;
 }
 
-NOMIPS16 _Sat short _Accum test13 (_Sat short _Accum a, _Sat short _Accum b)
+NOMICROMIPSandNOMIPS16 _Sat short _Accum test13 (_Sat short _Accum a, _Sat short _Accum b)
 {
   return a - b;
 }
 
-NOMIPS16 _Sat _Accum test14 (_Sat _Accum a, _Sat _Accum b)
+NOMICROMIPSandNOMIPS16 _Sat _Accum test14 (_Sat _Accum a, _Sat _Accum b)
 {
   return a - b;
 }
 
-NOMIPS16 _Sat _Fract test15 (_Sat _Fract a, _Sat _Fract b)
+NOMICROMIPSandNOMIPS16 _Sat _Fract test15 (_Sat _Fract a, _Sat _Fract b)
 {
   return a * b;
 }
 
-NOMIPS16 _Sat long _Fract test16 (_Sat long _Fract a, _Sat long _Fract b)
+NOMICROMIPSandNOMIPS16 _Sat long _Fract test16 (_Sat long _Fract a, _Sat long _Fract b)
 {
   return a * b;
 }
 
-NOMIPS16 _Fract test17 (_Fract a, _Fract b)
+NOMICROMIPSandNOMIPS16 _Fract test17 (_Fract a, _Fract b)
 {
   return a * b;
 }
 
-NOMIPS16 long _Fract test18 (long _Fract a, long _Fract b)
+NOMICROMIPSandNOMIPS16 long _Fract test18 (long _Fract a, long _Fract b)
 {
   return a * b;
 }
Index: gcc.target/mips/near-far-2.c
===================================================================
--- gcc.target/mips/near-far-2.c	(revision 160766)
+++ gcc.target/mips/near-far-2.c	(working copy)
@@ -16,5 +16,5 @@  int test ()
 
 /* { dg-final { scan-assembler-not "\tjal\tlong_call_func\n" } } */
 /* { dg-final { scan-assembler-not "\tjal\tfar_func\n" } } */
-/* { dg-final { scan-assembler     "\tjal\tnear_func\n" } } */
-/* { dg-final { scan-assembler     "\tjal\tnormal_func\n" } } */
+/* { dg-final { scan-assembler     "\tjals?\tnear_func\n" } } */
+/* { dg-final { scan-assembler     "\tjals?\tnormal_func\n" } } */
Index: gcc.target/mips/dspr2-MULTU.c
===================================================================
--- gcc.target/mips/dspr2-MULTU.c	(revision 160766)
+++ gcc.target/mips/dspr2-MULTU.c	(working copy)
@@ -9,7 +9,7 @@ 
 
 typedef unsigned long long a64;
 
-NOMIPS16 a64 test (a64 *a, unsigned int *b, unsigned int *c)
+NOMICROMIPSandNOMIPS16 a64 test (a64 *a, unsigned int *b, unsigned int *c)
 {
   a[0] = (a64) b[0] * c[0];
   a[1] = (a64) b[1] * c[1];
Index: gcc.target/mips/mips32-dsp.c
===================================================================
--- gcc.target/mips/mips32-dsp.c	(revision 160766)
+++ gcc.target/mips/mips32-dsp.c	(working copy)
@@ -103,7 +103,7 @@  typedef int q31;
 typedef int i32;
 typedef long long a64;
 
-NOMIPS16 void test_MIPS_DSP (void);
+NOMICROMIPSandNOMIPS16 void test_MIPS_DSP (void);
 
 char array[100];
 int little_endian;
@@ -124,27 +124,27 @@  int main ()
   exit (0);
 }
 
-NOMIPS16 v2q15 add_v2q15 (v2q15 a, v2q15 b)
+NOMICROMIPSandNOMIPS16 v2q15 add_v2q15 (v2q15 a, v2q15 b)
 {
   return __builtin_mips_addq_ph (a, b);
 }
 
-NOMIPS16 v4i8 add_v4i8 (v4i8 a, v4i8 b)
+NOMICROMIPSandNOMIPS16 v4i8 add_v4i8 (v4i8 a, v4i8 b)
 {
   return __builtin_mips_addu_qb (a, b);
 }
 
-NOMIPS16 v2q15 sub_v2q15 (v2q15 a, v2q15 b)
+NOMICROMIPSandNOMIPS16 v2q15 sub_v2q15 (v2q15 a, v2q15 b)
 {
   return __builtin_mips_subq_ph (a, b);
 }
 
-NOMIPS16 v4i8 sub_v4i8 (v4i8 a, v4i8 b)
+NOMICROMIPSandNOMIPS16 v4i8 sub_v4i8 (v4i8 a, v4i8 b)
 {
   return __builtin_mips_subu_qb (a, b);
 }
 
-NOMIPS16 void test_MIPS_DSP ()
+NOMICROMIPSandNOMIPS16 void test_MIPS_DSP ()
 {
   v4i8 v4i8_a,v4i8_b,v4i8_c,v4i8_r,v4i8_s;
   v2q15 v2q15_a,v2q15_b,v2q15_c,v2q15_r,v2q15_s;
Index: gcc.target/mips/mips-3d-3.c
===================================================================
--- gcc.target/mips/mips-3d-3.c	(revision 160766)
+++ gcc.target/mips/mips-3d-3.c	(working copy)
@@ -7,74 +7,74 @@ 
 
 typedef float v2sf __attribute__ ((vector_size(8)));
 
-NOMIPS16 int test0 (v2sf a, v2sf b);
-NOMIPS16 int test1 (v2sf a, v2sf b);
-NOMIPS16 int test2 (v2sf a, v2sf b);
-NOMIPS16 int test3 (v2sf a, v2sf b);
-NOMIPS16 int test4 (v2sf a, v2sf b);
-NOMIPS16 int test5 (v2sf a, v2sf b);
-NOMIPS16 int test6 (v2sf a, v2sf b);
-NOMIPS16 int test7 (v2sf a, v2sf b);
-NOMIPS16 int test8 (v2sf a, v2sf b);
-NOMIPS16 int test9 (v2sf a, v2sf b);
-NOMIPS16 int test10 (v2sf a, v2sf b);
-NOMIPS16 int test11 (v2sf a, v2sf b);
-NOMIPS16 int test12 (v2sf a, v2sf b);
-NOMIPS16 int test13 (v2sf a, v2sf b);
-NOMIPS16 int test14 (v2sf a, v2sf b);
-NOMIPS16 int test15 (v2sf a, v2sf b);
-NOMIPS16 int test16 (v2sf a, v2sf b);
-NOMIPS16 int test17 (v2sf a, v2sf b);
-NOMIPS16 int test18 (v2sf a, v2sf b);
-NOMIPS16 int test19 (v2sf a, v2sf b);
-NOMIPS16 int test20 (v2sf a, v2sf b);
-NOMIPS16 int test21 (v2sf a, v2sf b);
-NOMIPS16 int test22 (v2sf a, v2sf b);
-NOMIPS16 int test23 (v2sf a, v2sf b);
-NOMIPS16 int test24 (v2sf a, v2sf b);
-NOMIPS16 int test25 (v2sf a, v2sf b);
-NOMIPS16 int test26 (v2sf a, v2sf b);
-NOMIPS16 int test27 (v2sf a, v2sf b);
-NOMIPS16 int test28 (v2sf a, v2sf b);
-NOMIPS16 int test29 (v2sf a, v2sf b);
-NOMIPS16 int test30 (v2sf a, v2sf b);
-NOMIPS16 int test31 (v2sf a, v2sf b);
-NOMIPS16 int test32 (v2sf a, v2sf b);
-NOMIPS16 int test33 (v2sf a, v2sf b);
-NOMIPS16 int test34 (v2sf a, v2sf b);
-NOMIPS16 int test35 (v2sf a, v2sf b);
-NOMIPS16 int test36 (v2sf a, v2sf b);
-NOMIPS16 int test37 (v2sf a, v2sf b);
-NOMIPS16 int test38 (v2sf a, v2sf b);
-NOMIPS16 int test39 (v2sf a, v2sf b);
-NOMIPS16 int test40 (v2sf a, v2sf b);
-NOMIPS16 int test41 (v2sf a, v2sf b);
-NOMIPS16 int test42 (v2sf a, v2sf b);
-NOMIPS16 int test43 (v2sf a, v2sf b);
-NOMIPS16 int test44 (v2sf a, v2sf b);
-NOMIPS16 int test45 (v2sf a, v2sf b);
-NOMIPS16 int test46 (v2sf a, v2sf b);
-NOMIPS16 int test47 (v2sf a, v2sf b);
-NOMIPS16 int test48 (v2sf a, v2sf b);
-NOMIPS16 int test49 (v2sf a, v2sf b);
-NOMIPS16 int test50 (v2sf a, v2sf b);
-NOMIPS16 int test51 (v2sf a, v2sf b);
-NOMIPS16 int test52 (v2sf a, v2sf b);
-NOMIPS16 int test53 (v2sf a, v2sf b);
-NOMIPS16 int test54 (v2sf a, v2sf b);
-NOMIPS16 int test55 (v2sf a, v2sf b);
-NOMIPS16 int test56 (v2sf a, v2sf b);
-NOMIPS16 int test57 (v2sf a, v2sf b);
-NOMIPS16 int test58 (v2sf a, v2sf b);
-NOMIPS16 int test59 (v2sf a, v2sf b);
-NOMIPS16 int test60 (v2sf a, v2sf b);
-NOMIPS16 int test61 (v2sf a, v2sf b);
-NOMIPS16 int test62 (v2sf a, v2sf b);
-NOMIPS16 int test63 (v2sf a, v2sf b);
+NOMICROMIPSandNOMIPS16 int test0 (v2sf a, v2sf b);
+NOMICROMIPSandNOMIPS16 int test1 (v2sf a, v2sf b);
+NOMICROMIPSandNOMIPS16 int test2 (v2sf a, v2sf b);
+NOMICROMIPSandNOMIPS16 int test3 (v2sf a, v2sf b);
+NOMICROMIPSandNOMIPS16 int test4 (v2sf a, v2sf b);
+NOMICROMIPSandNOMIPS16 int test5 (v2sf a, v2sf b);
+NOMICROMIPSandNOMIPS16 int test6 (v2sf a, v2sf b);
+NOMICROMIPSandNOMIPS16 int test7 (v2sf a, v2sf b);
+NOMICROMIPSandNOMIPS16 int test8 (v2sf a, v2sf b);
+NOMICROMIPSandNOMIPS16 int test9 (v2sf a, v2sf b);
+NOMICROMIPSandNOMIPS16 int test10 (v2sf a, v2sf b);
+NOMICROMIPSandNOMIPS16 int test11 (v2sf a, v2sf b);
+NOMICROMIPSandNOMIPS16 int test12 (v2sf a, v2sf b);
+NOMICROMIPSandNOMIPS16 int test13 (v2sf a, v2sf b);
+NOMICROMIPSandNOMIPS16 int test14 (v2sf a, v2sf b);
+NOMICROMIPSandNOMIPS16 int test15 (v2sf a, v2sf b);
+NOMICROMIPSandNOMIPS16 int test16 (v2sf a, v2sf b);
+NOMICROMIPSandNOMIPS16 int test17 (v2sf a, v2sf b);
+NOMICROMIPSandNOMIPS16 int test18 (v2sf a, v2sf b);
+NOMICROMIPSandNOMIPS16 int test19 (v2sf a, v2sf b);
+NOMICROMIPSandNOMIPS16 int test20 (v2sf a, v2sf b);
+NOMICROMIPSandNOMIPS16 int test21 (v2sf a, v2sf b);
+NOMICROMIPSandNOMIPS16 int test22 (v2sf a, v2sf b);
+NOMICROMIPSandNOMIPS16 int test23 (v2sf a, v2sf b);
+NOMICROMIPSandNOMIPS16 int test24 (v2sf a, v2sf b);
+NOMICROMIPSandNOMIPS16 int test25 (v2sf a, v2sf b);
+NOMICROMIPSandNOMIPS16 int test26 (v2sf a, v2sf b);
+NOMICROMIPSandNOMIPS16 int test27 (v2sf a, v2sf b);
+NOMICROMIPSandNOMIPS16 int test28 (v2sf a, v2sf b);
+NOMICROMIPSandNOMIPS16 int test29 (v2sf a, v2sf b);
+NOMICROMIPSandNOMIPS16 int test30 (v2sf a, v2sf b);
+NOMICROMIPSandNOMIPS16 int test31 (v2sf a, v2sf b);
+NOMICROMIPSandNOMIPS16 int test32 (v2sf a, v2sf b);
+NOMICROMIPSandNOMIPS16 int test33 (v2sf a, v2sf b);
+NOMICROMIPSandNOMIPS16 int test34 (v2sf a, v2sf b);
+NOMICROMIPSandNOMIPS16 int test35 (v2sf a, v2sf b);
+NOMICROMIPSandNOMIPS16 int test36 (v2sf a, v2sf b);
+NOMICROMIPSandNOMIPS16 int test37 (v2sf a, v2sf b);
+NOMICROMIPSandNOMIPS16 int test38 (v2sf a, v2sf b);
+NOMICROMIPSandNOMIPS16 int test39 (v2sf a, v2sf b);
+NOMICROMIPSandNOMIPS16 int test40 (v2sf a, v2sf b);
+NOMICROMIPSandNOMIPS16 int test41 (v2sf a, v2sf b);
+NOMICROMIPSandNOMIPS16 int test42 (v2sf a, v2sf b);
+NOMICROMIPSandNOMIPS16 int test43 (v2sf a, v2sf b);
+NOMICROMIPSandNOMIPS16 int test44 (v2sf a, v2sf b);
+NOMICROMIPSandNOMIPS16 int test45 (v2sf a, v2sf b);
+NOMICROMIPSandNOMIPS16 int test46 (v2sf a, v2sf b);
+NOMICROMIPSandNOMIPS16 int test47 (v2sf a, v2sf b);
+NOMICROMIPSandNOMIPS16 int test48 (v2sf a, v2sf b);
+NOMICROMIPSandNOMIPS16 int test49 (v2sf a, v2sf b);
+NOMICROMIPSandNOMIPS16 int test50 (v2sf a, v2sf b);
+NOMICROMIPSandNOMIPS16 int test51 (v2sf a, v2sf b);
+NOMICROMIPSandNOMIPS16 int test52 (v2sf a, v2sf b);
+NOMICROMIPSandNOMIPS16 int test53 (v2sf a, v2sf b);
+NOMICROMIPSandNOMIPS16 int test54 (v2sf a, v2sf b);
+NOMICROMIPSandNOMIPS16 int test55 (v2sf a, v2sf b);
+NOMICROMIPSandNOMIPS16 int test56 (v2sf a, v2sf b);
+NOMICROMIPSandNOMIPS16 int test57 (v2sf a, v2sf b);
+NOMICROMIPSandNOMIPS16 int test58 (v2sf a, v2sf b);
+NOMICROMIPSandNOMIPS16 int test59 (v2sf a, v2sf b);
+NOMICROMIPSandNOMIPS16 int test60 (v2sf a, v2sf b);
+NOMICROMIPSandNOMIPS16 int test61 (v2sf a, v2sf b);
+NOMICROMIPSandNOMIPS16 int test62 (v2sf a, v2sf b);
+NOMICROMIPSandNOMIPS16 int test63 (v2sf a, v2sf b);
 
 float qnan = 1.0f/0.0f - 1.0f/0.0f;
 
-NOMIPS16 int main ()
+NOMICROMIPSandNOMIPS16 int main ()
 {
   int little_endian;
   v2sf a, b, c, d;
@@ -774,322 +774,322 @@  NOMIPS16 int main ()
   exit (0);
 }
 
-NOMIPS16 int test0 (v2sf a, v2sf b)
+NOMICROMIPSandNOMIPS16 int test0 (v2sf a, v2sf b)
 {
   return __builtin_mips_any_cabs_f_ps (a, b);
 }
 
-NOMIPS16 int test1 (v2sf a, v2sf b)
+NOMICROMIPSandNOMIPS16 int test1 (v2sf a, v2sf b)
 {
   return __builtin_mips_upper_cabs_f_ps (a, b);
 }
 
-NOMIPS16 int test2 (v2sf a, v2sf b)
+NOMICROMIPSandNOMIPS16 int test2 (v2sf a, v2sf b)
 {
   return __builtin_mips_lower_cabs_f_ps (a, b);
 }
 
-NOMIPS16 int test3 (v2sf a, v2sf b)
+NOMICROMIPSandNOMIPS16 int test3 (v2sf a, v2sf b)
 {
   return __builtin_mips_all_cabs_f_ps (a, b);
 }
 
-NOMIPS16 int test4 (v2sf a, v2sf b)
+NOMICROMIPSandNOMIPS16 int test4 (v2sf a, v2sf b)
 {
   return __builtin_mips_any_cabs_un_ps (a, b);
 }
 
-NOMIPS16 int test5 (v2sf a, v2sf b)
+NOMICROMIPSandNOMIPS16 int test5 (v2sf a, v2sf b)
 {
   return __builtin_mips_upper_cabs_un_ps (a, b);
 }
 
-NOMIPS16 int test6 (v2sf a, v2sf b)
+NOMICROMIPSandNOMIPS16 int test6 (v2sf a, v2sf b)
 {
   return __builtin_mips_lower_cabs_un_ps (a, b);
 }
 
-NOMIPS16 int test7 (v2sf a, v2sf b)
+NOMICROMIPSandNOMIPS16 int test7 (v2sf a, v2sf b)
 {
   return __builtin_mips_all_cabs_un_ps (a, b);
 }
 
-NOMIPS16 int test8 (v2sf a, v2sf b)
+NOMICROMIPSandNOMIPS16 int test8 (v2sf a, v2sf b)
 {
   return __builtin_mips_any_cabs_eq_ps (a, b);
 }
 
-NOMIPS16 int test9 (v2sf a, v2sf b)
+NOMICROMIPSandNOMIPS16 int test9 (v2sf a, v2sf b)
 {
   return __builtin_mips_upper_cabs_eq_ps (a, b);
 }
 
-NOMIPS16 int test10 (v2sf a, v2sf b)
+NOMICROMIPSandNOMIPS16 int test10 (v2sf a, v2sf b)
 {
   return __builtin_mips_lower_cabs_eq_ps (a, b);
 }
 
-NOMIPS16 int test11 (v2sf a, v2sf b)
+NOMICROMIPSandNOMIPS16 int test11 (v2sf a, v2sf b)
 {
   return __builtin_mips_all_cabs_eq_ps (a, b);
 }
 
-NOMIPS16 int test12 (v2sf a, v2sf b)
+NOMICROMIPSandNOMIPS16 int test12 (v2sf a, v2sf b)
 {
   return __builtin_mips_any_cabs_ueq_ps (a, b);
 }
 
-NOMIPS16 int test13 (v2sf a, v2sf b)
+NOMICROMIPSandNOMIPS16 int test13 (v2sf a, v2sf b)
 {
   return __builtin_mips_upper_cabs_ueq_ps (a, b);
 }
 
-NOMIPS16 int test14 (v2sf a, v2sf b)
+NOMICROMIPSandNOMIPS16 int test14 (v2sf a, v2sf b)
 {
   return __builtin_mips_lower_cabs_ueq_ps (a, b);
 }
 
-NOMIPS16 int test15 (v2sf a, v2sf b)
+NOMICROMIPSandNOMIPS16 int test15 (v2sf a, v2sf b)
 {
   return __builtin_mips_all_cabs_ueq_ps (a, b);
 }
 
-NOMIPS16 int test16 (v2sf a, v2sf b)
+NOMICROMIPSandNOMIPS16 int test16 (v2sf a, v2sf b)
 {
   return __builtin_mips_any_cabs_olt_ps (a, b);
 }
 
-NOMIPS16 int test17 (v2sf a, v2sf b)
+NOMICROMIPSandNOMIPS16 int test17 (v2sf a, v2sf b)
 {
   return __builtin_mips_upper_cabs_olt_ps (a, b);
 }
 
-NOMIPS16 int test18 (v2sf a, v2sf b)
+NOMICROMIPSandNOMIPS16 int test18 (v2sf a, v2sf b)
 {
   return __builtin_mips_lower_cabs_olt_ps (a, b);
 }
 
-NOMIPS16 int test19 (v2sf a, v2sf b)
+NOMICROMIPSandNOMIPS16 int test19 (v2sf a, v2sf b)
 {
   return __builtin_mips_all_cabs_olt_ps (a, b);
 }
 
-NOMIPS16 int test20 (v2sf a, v2sf b)
+NOMICROMIPSandNOMIPS16 int test20 (v2sf a, v2sf b)
 {
   return __builtin_mips_any_cabs_ult_ps (a, b);
 }
 
-NOMIPS16 int test21 (v2sf a, v2sf b)
+NOMICROMIPSandNOMIPS16 int test21 (v2sf a, v2sf b)
 {
   return __builtin_mips_upper_cabs_ult_ps (a, b);
 }
 
-NOMIPS16 int test22 (v2sf a, v2sf b)
+NOMICROMIPSandNOMIPS16 int test22 (v2sf a, v2sf b)
 {
   return __builtin_mips_lower_cabs_ult_ps (a, b);
 }
 
-NOMIPS16 int test23 (v2sf a, v2sf b)
+NOMICROMIPSandNOMIPS16 int test23 (v2sf a, v2sf b)
 {
   return __builtin_mips_all_cabs_ult_ps (a, b);
 }
 
-NOMIPS16 int test24 (v2sf a, v2sf b)
+NOMICROMIPSandNOMIPS16 int test24 (v2sf a, v2sf b)
 {
   return __builtin_mips_any_cabs_ole_ps (a, b);
 }
 
-NOMIPS16 int test25 (v2sf a, v2sf b)
+NOMICROMIPSandNOMIPS16 int test25 (v2sf a, v2sf b)
 {
   return __builtin_mips_upper_cabs_ole_ps (a, b);
 }
 
-NOMIPS16 int test26 (v2sf a, v2sf b)
+NOMICROMIPSandNOMIPS16 int test26 (v2sf a, v2sf b)
 {
   return __builtin_mips_lower_cabs_ole_ps (a, b);
 }
 
-NOMIPS16 int test27 (v2sf a, v2sf b)
+NOMICROMIPSandNOMIPS16 int test27 (v2sf a, v2sf b)
 {
   return __builtin_mips_all_cabs_ole_ps (a, b);
 }
 
-NOMIPS16 int test28 (v2sf a, v2sf b)
+NOMICROMIPSandNOMIPS16 int test28 (v2sf a, v2sf b)
 {
   return __builtin_mips_any_cabs_ule_ps (a, b);
 }
 
-NOMIPS16 int test29 (v2sf a, v2sf b)
+NOMICROMIPSandNOMIPS16 int test29 (v2sf a, v2sf b)
 {
   return __builtin_mips_upper_cabs_ule_ps (a, b);
 }
 
-NOMIPS16 int test30 (v2sf a, v2sf b)
+NOMICROMIPSandNOMIPS16 int test30 (v2sf a, v2sf b)
 {
   return __builtin_mips_lower_cabs_ule_ps (a, b);
 }
 
-NOMIPS16 int test31 (v2sf a, v2sf b)
+NOMICROMIPSandNOMIPS16 int test31 (v2sf a, v2sf b)
 {
   return __builtin_mips_all_cabs_ule_ps (a, b);
 }
 
-NOMIPS16 int test32 (v2sf a, v2sf b)
+NOMICROMIPSandNOMIPS16 int test32 (v2sf a, v2sf b)
 {
   return __builtin_mips_any_cabs_sf_ps (a, b);
 }
 
-NOMIPS16 int test33 (v2sf a, v2sf b)
+NOMICROMIPSandNOMIPS16 int test33 (v2sf a, v2sf b)
 {
   return __builtin_mips_upper_cabs_sf_ps (a, b);
 }
 
-NOMIPS16 int test34 (v2sf a, v2sf b)
+NOMICROMIPSandNOMIPS16 int test34 (v2sf a, v2sf b)
 {
   return __builtin_mips_lower_cabs_sf_ps (a, b);
 }
 
-NOMIPS16 int test35 (v2sf a, v2sf b)
+NOMICROMIPSandNOMIPS16 int test35 (v2sf a, v2sf b)
 {
   return __builtin_mips_all_cabs_sf_ps (a, b);
 }
 
-NOMIPS16 int test36 (v2sf a, v2sf b)
+NOMICROMIPSandNOMIPS16 int test36 (v2sf a, v2sf b)
 {
   return __builtin_mips_any_cabs_ngle_ps (a, b);
 }
 
-NOMIPS16 int test37 (v2sf a, v2sf b)
+NOMICROMIPSandNOMIPS16 int test37 (v2sf a, v2sf b)
 {
   return __builtin_mips_upper_cabs_ngle_ps (a, b);
 }
 
-NOMIPS16 int test38 (v2sf a, v2sf b)
+NOMICROMIPSandNOMIPS16 int test38 (v2sf a, v2sf b)
 {
   return __builtin_mips_lower_cabs_ngle_ps (a, b);
 }
 
-NOMIPS16 int test39 (v2sf a, v2sf b)
+NOMICROMIPSandNOMIPS16 int test39 (v2sf a, v2sf b)
 {
   return __builtin_mips_all_cabs_ngle_ps (a, b);
 }
 
-NOMIPS16 int test40 (v2sf a, v2sf b)
+NOMICROMIPSandNOMIPS16 int test40 (v2sf a, v2sf b)
 {
   return __builtin_mips_any_cabs_seq_ps (a, b);
 }
 
-NOMIPS16 int test41 (v2sf a, v2sf b)
+NOMICROMIPSandNOMIPS16 int test41 (v2sf a, v2sf b)
 {
   return __builtin_mips_upper_cabs_seq_ps (a, b);
 }
 
-NOMIPS16 int test42 (v2sf a, v2sf b)
+NOMICROMIPSandNOMIPS16 int test42 (v2sf a, v2sf b)
 {
   return __builtin_mips_lower_cabs_seq_ps (a, b);
 }
 
-NOMIPS16 int test43 (v2sf a, v2sf b)
+NOMICROMIPSandNOMIPS16 int test43 (v2sf a, v2sf b)
 {
   return __builtin_mips_all_cabs_seq_ps (a, b);
 }
 
-NOMIPS16 int test44 (v2sf a, v2sf b)
+NOMICROMIPSandNOMIPS16 int test44 (v2sf a, v2sf b)
 {
   return __builtin_mips_any_cabs_ngl_ps (a, b);
 }
 
-NOMIPS16 int test45 (v2sf a, v2sf b)
+NOMICROMIPSandNOMIPS16 int test45 (v2sf a, v2sf b)
 {
   return __builtin_mips_upper_cabs_ngl_ps (a, b);
 }
 
-NOMIPS16 int test46 (v2sf a, v2sf b)
+NOMICROMIPSandNOMIPS16 int test46 (v2sf a, v2sf b)
 {
   return __builtin_mips_lower_cabs_ngl_ps (a, b);
 }
 
-NOMIPS16 int test47 (v2sf a, v2sf b)
+NOMICROMIPSandNOMIPS16 int test47 (v2sf a, v2sf b)
 {
   return __builtin_mips_all_cabs_ngl_ps (a, b);
 }
 
-NOMIPS16 int test48 (v2sf a, v2sf b)
+NOMICROMIPSandNOMIPS16 int test48 (v2sf a, v2sf b)
 {
   return __builtin_mips_any_cabs_lt_ps (a, b);
 }
 
-NOMIPS16 int test49 (v2sf a, v2sf b)
+NOMICROMIPSandNOMIPS16 int test49 (v2sf a, v2sf b)
 {
   return __builtin_mips_upper_cabs_lt_ps (a, b);
 }
 
-NOMIPS16 int test50 (v2sf a, v2sf b)
+NOMICROMIPSandNOMIPS16 int test50 (v2sf a, v2sf b)
 {
   return __builtin_mips_lower_cabs_lt_ps (a, b);
 }
 
-NOMIPS16 int test51 (v2sf a, v2sf b)
+NOMICROMIPSandNOMIPS16 int test51 (v2sf a, v2sf b)
 {
   return __builtin_mips_all_cabs_lt_ps (a, b);
 }
 
-NOMIPS16 int test52 (v2sf a, v2sf b)
+NOMICROMIPSandNOMIPS16 int test52 (v2sf a, v2sf b)
 {
   return __builtin_mips_any_cabs_nge_ps (a, b);
 }
 
-NOMIPS16 int test53 (v2sf a, v2sf b)
+NOMICROMIPSandNOMIPS16 int test53 (v2sf a, v2sf b)
 {
   return __builtin_mips_upper_cabs_nge_ps (a, b);
 }
 
-NOMIPS16 int test54 (v2sf a, v2sf b)
+NOMICROMIPSandNOMIPS16 int test54 (v2sf a, v2sf b)
 {
   return __builtin_mips_lower_cabs_nge_ps (a, b);
 }
 
-NOMIPS16 int test55 (v2sf a, v2sf b)
+NOMICROMIPSandNOMIPS16 int test55 (v2sf a, v2sf b)
 {
   return __builtin_mips_all_cabs_nge_ps (a, b);
 }
 
-NOMIPS16 int test56 (v2sf a, v2sf b)
+NOMICROMIPSandNOMIPS16 int test56 (v2sf a, v2sf b)
 {
   return __builtin_mips_any_cabs_le_ps (a, b);
 }
 
-NOMIPS16 int test57 (v2sf a, v2sf b)
+NOMICROMIPSandNOMIPS16 int test57 (v2sf a, v2sf b)
 {
   return __builtin_mips_upper_cabs_le_ps (a, b);
 }
 
-NOMIPS16 int test58 (v2sf a, v2sf b)
+NOMICROMIPSandNOMIPS16 int test58 (v2sf a, v2sf b)
 {
   return __builtin_mips_lower_cabs_le_ps (a, b);
 }
 
-NOMIPS16 int test59 (v2sf a, v2sf b)
+NOMICROMIPSandNOMIPS16 int test59 (v2sf a, v2sf b)
 {
   return __builtin_mips_all_cabs_le_ps (a, b);
 }
 
-NOMIPS16 int test60 (v2sf a, v2sf b)
+NOMICROMIPSandNOMIPS16 int test60 (v2sf a, v2sf b)
 {
   return __builtin_mips_any_cabs_ngt_ps (a, b);
 }
 
-NOMIPS16 int test61 (v2sf a, v2sf b)
+NOMICROMIPSandNOMIPS16 int test61 (v2sf a, v2sf b)
 {
   return __builtin_mips_upper_cabs_ngt_ps (a, b);
 }
 
-NOMIPS16 int test62 (v2sf a, v2sf b)
+NOMICROMIPSandNOMIPS16 int test62 (v2sf a, v2sf b)
 {
   return __builtin_mips_lower_cabs_ngt_ps (a, b);
 }
 
-NOMIPS16 int test63 (v2sf a, v2sf b)
+NOMICROMIPSandNOMIPS16 int test63 (v2sf a, v2sf b)
 {
   return __builtin_mips_all_cabs_ngt_ps (a, b);
 }
Index: gcc.target/mips/mips32-dspr2-type.c
===================================================================
--- gcc.target/mips/mips32-dspr2-type.c	(revision 160766)
+++ gcc.target/mips/mips32-dspr2-type.c	(working copy)
@@ -5,7 +5,7 @@ 
 
 typedef short v2hi __attribute__ ((vector_size(4)));
 
-NOMIPS16 v2hi mul_v2hi (v2hi a, v2hi b)
+NOMICROMIPSandNOMIPS16 v2hi mul_v2hi (v2hi a, v2hi b)
 {
   return a * b;
 }
Index: gcc.target/mips/mips-3d-4.c
===================================================================
--- gcc.target/mips/mips-3d-4.c	(revision 160766)
+++ gcc.target/mips/mips-3d-4.c	(working copy)
@@ -7,42 +7,42 @@ 
 
 typedef float v2sf __attribute__ ((vector_size(8)));
 
-NOMIPS16 int test0 (v2sf a, v2sf b, v2sf c, v2sf d);
-NOMIPS16 int test1 (v2sf a, v2sf b, v2sf c, v2sf d);
-NOMIPS16 int test2 (v2sf a, v2sf b, v2sf c, v2sf d);
-NOMIPS16 int test3 (v2sf a, v2sf b, v2sf c, v2sf d);
-NOMIPS16 int test4 (v2sf a, v2sf b, v2sf c, v2sf d);
-NOMIPS16 int test5 (v2sf a, v2sf b, v2sf c, v2sf d);
-NOMIPS16 int test6 (v2sf a, v2sf b, v2sf c, v2sf d);
-NOMIPS16 int test7 (v2sf a, v2sf b, v2sf c, v2sf d);
-NOMIPS16 int test8 (v2sf a, v2sf b, v2sf c, v2sf d);
-NOMIPS16 int test9 (v2sf a, v2sf b, v2sf c, v2sf d);
-NOMIPS16 int test10 (v2sf a, v2sf b, v2sf c, v2sf d);
-NOMIPS16 int test11 (v2sf a, v2sf b, v2sf c, v2sf d);
-NOMIPS16 int test12 (v2sf a, v2sf b, v2sf c, v2sf d);
-NOMIPS16 int test13 (v2sf a, v2sf b, v2sf c, v2sf d);
-NOMIPS16 int test14 (v2sf a, v2sf b, v2sf c, v2sf d);
-NOMIPS16 int test15 (v2sf a, v2sf b, v2sf c, v2sf d);
-NOMIPS16 int test16 (v2sf a, v2sf b, v2sf c, v2sf d);
-NOMIPS16 int test17 (v2sf a, v2sf b, v2sf c, v2sf d);
-NOMIPS16 int test18 (v2sf a, v2sf b, v2sf c, v2sf d);
-NOMIPS16 int test19 (v2sf a, v2sf b, v2sf c, v2sf d);
-NOMIPS16 int test20 (v2sf a, v2sf b, v2sf c, v2sf d);
-NOMIPS16 int test21 (v2sf a, v2sf b, v2sf c, v2sf d);
-NOMIPS16 int test22 (v2sf a, v2sf b, v2sf c, v2sf d);
-NOMIPS16 int test23 (v2sf a, v2sf b, v2sf c, v2sf d);
-NOMIPS16 int test24 (v2sf a, v2sf b, v2sf c, v2sf d);
-NOMIPS16 int test25 (v2sf a, v2sf b, v2sf c, v2sf d);
-NOMIPS16 int test26 (v2sf a, v2sf b, v2sf c, v2sf d);
-NOMIPS16 int test27 (v2sf a, v2sf b, v2sf c, v2sf d);
-NOMIPS16 int test28 (v2sf a, v2sf b, v2sf c, v2sf d);
-NOMIPS16 int test29 (v2sf a, v2sf b, v2sf c, v2sf d);
-NOMIPS16 int test30 (v2sf a, v2sf b, v2sf c, v2sf d);
-NOMIPS16 int test31 (v2sf a, v2sf b, v2sf c, v2sf d);
+NOMICROMIPSandNOMIPS16 int test0 (v2sf a, v2sf b, v2sf c, v2sf d);
+NOMICROMIPSandNOMIPS16 int test1 (v2sf a, v2sf b, v2sf c, v2sf d);
+NOMICROMIPSandNOMIPS16 int test2 (v2sf a, v2sf b, v2sf c, v2sf d);
+NOMICROMIPSandNOMIPS16 int test3 (v2sf a, v2sf b, v2sf c, v2sf d);
+NOMICROMIPSandNOMIPS16 int test4 (v2sf a, v2sf b, v2sf c, v2sf d);
+NOMICROMIPSandNOMIPS16 int test5 (v2sf a, v2sf b, v2sf c, v2sf d);
+NOMICROMIPSandNOMIPS16 int test6 (v2sf a, v2sf b, v2sf c, v2sf d);
+NOMICROMIPSandNOMIPS16 int test7 (v2sf a, v2sf b, v2sf c, v2sf d);
+NOMICROMIPSandNOMIPS16 int test8 (v2sf a, v2sf b, v2sf c, v2sf d);
+NOMICROMIPSandNOMIPS16 int test9 (v2sf a, v2sf b, v2sf c, v2sf d);
+NOMICROMIPSandNOMIPS16 int test10 (v2sf a, v2sf b, v2sf c, v2sf d);
+NOMICROMIPSandNOMIPS16 int test11 (v2sf a, v2sf b, v2sf c, v2sf d);
+NOMICROMIPSandNOMIPS16 int test12 (v2sf a, v2sf b, v2sf c, v2sf d);
+NOMICROMIPSandNOMIPS16 int test13 (v2sf a, v2sf b, v2sf c, v2sf d);
+NOMICROMIPSandNOMIPS16 int test14 (v2sf a, v2sf b, v2sf c, v2sf d);
+NOMICROMIPSandNOMIPS16 int test15 (v2sf a, v2sf b, v2sf c, v2sf d);
+NOMICROMIPSandNOMIPS16 int test16 (v2sf a, v2sf b, v2sf c, v2sf d);
+NOMICROMIPSandNOMIPS16 int test17 (v2sf a, v2sf b, v2sf c, v2sf d);
+NOMICROMIPSandNOMIPS16 int test18 (v2sf a, v2sf b, v2sf c, v2sf d);
+NOMICROMIPSandNOMIPS16 int test19 (v2sf a, v2sf b, v2sf c, v2sf d);
+NOMICROMIPSandNOMIPS16 int test20 (v2sf a, v2sf b, v2sf c, v2sf d);
+NOMICROMIPSandNOMIPS16 int test21 (v2sf a, v2sf b, v2sf c, v2sf d);
+NOMICROMIPSandNOMIPS16 int test22 (v2sf a, v2sf b, v2sf c, v2sf d);
+NOMICROMIPSandNOMIPS16 int test23 (v2sf a, v2sf b, v2sf c, v2sf d);
+NOMICROMIPSandNOMIPS16 int test24 (v2sf a, v2sf b, v2sf c, v2sf d);
+NOMICROMIPSandNOMIPS16 int test25 (v2sf a, v2sf b, v2sf c, v2sf d);
+NOMICROMIPSandNOMIPS16 int test26 (v2sf a, v2sf b, v2sf c, v2sf d);
+NOMICROMIPSandNOMIPS16 int test27 (v2sf a, v2sf b, v2sf c, v2sf d);
+NOMICROMIPSandNOMIPS16 int test28 (v2sf a, v2sf b, v2sf c, v2sf d);
+NOMICROMIPSandNOMIPS16 int test29 (v2sf a, v2sf b, v2sf c, v2sf d);
+NOMICROMIPSandNOMIPS16 int test30 (v2sf a, v2sf b, v2sf c, v2sf d);
+NOMICROMIPSandNOMIPS16 int test31 (v2sf a, v2sf b, v2sf c, v2sf d);
 
 float qnan = 1.0f/0.0f - 1.0f/0.0f;
 
-NOMIPS16 int main ()
+NOMICROMIPSandNOMIPS16 int main ()
 {
   v2sf a, b, c, d;
   int i, j;
@@ -429,162 +429,162 @@  NOMIPS16 int main ()
   exit (0);
 }
 
-NOMIPS16 int test0 (v2sf a, v2sf b, v2sf c, v2sf d)
+NOMICROMIPSandNOMIPS16 int test0 (v2sf a, v2sf b, v2sf c, v2sf d)
 {
   return __builtin_mips_any_c_f_4s (a, b, c, d);
 }
 
-NOMIPS16 int test1 (v2sf a, v2sf b, v2sf c, v2sf d)
+NOMICROMIPSandNOMIPS16 int test1 (v2sf a, v2sf b, v2sf c, v2sf d)
 {
   return __builtin_mips_all_c_f_4s (a, b, c, d);
 }
 
-NOMIPS16 int test2 (v2sf a, v2sf b, v2sf c, v2sf d)
+NOMICROMIPSandNOMIPS16 int test2 (v2sf a, v2sf b, v2sf c, v2sf d)
 {
   return __builtin_mips_any_c_un_4s (a, b, c, d);
 }
 
-NOMIPS16 int test3 (v2sf a, v2sf b, v2sf c, v2sf d)
+NOMICROMIPSandNOMIPS16 int test3 (v2sf a, v2sf b, v2sf c, v2sf d)
 {
   return __builtin_mips_all_c_un_4s (a, b, c, d);
 }
 
-NOMIPS16 int test4 (v2sf a, v2sf b, v2sf c, v2sf d)
+NOMICROMIPSandNOMIPS16 int test4 (v2sf a, v2sf b, v2sf c, v2sf d)
 {
   return __builtin_mips_any_c_eq_4s (a, b, c, d);
 }
 
-NOMIPS16 int test5 (v2sf a, v2sf b, v2sf c, v2sf d)
+NOMICROMIPSandNOMIPS16 int test5 (v2sf a, v2sf b, v2sf c, v2sf d)
 {
   return __builtin_mips_all_c_eq_4s (a, b, c, d);
 }
 
-NOMIPS16 int test6 (v2sf a, v2sf b, v2sf c, v2sf d)
+NOMICROMIPSandNOMIPS16 int test6 (v2sf a, v2sf b, v2sf c, v2sf d)
 {
   return __builtin_mips_any_c_ueq_4s (a, b, c, d);
 }
 
-NOMIPS16 int test7 (v2sf a, v2sf b, v2sf c, v2sf d)
+NOMICROMIPSandNOMIPS16 int test7 (v2sf a, v2sf b, v2sf c, v2sf d)
 {
   return __builtin_mips_all_c_ueq_4s (a, b, c, d);
 }
 
-NOMIPS16 int test8 (v2sf a, v2sf b, v2sf c, v2sf d)
+NOMICROMIPSandNOMIPS16 int test8 (v2sf a, v2sf b, v2sf c, v2sf d)
 {
   return __builtin_mips_any_c_olt_4s (a, b, c, d);
 }
 
-NOMIPS16 int test9 (v2sf a, v2sf b, v2sf c, v2sf d)
+NOMICROMIPSandNOMIPS16 int test9 (v2sf a, v2sf b, v2sf c, v2sf d)
 {
   return __builtin_mips_all_c_olt_4s (a, b, c, d);
 }
 
-NOMIPS16 int test10 (v2sf a, v2sf b, v2sf c, v2sf d)
+NOMICROMIPSandNOMIPS16 int test10 (v2sf a, v2sf b, v2sf c, v2sf d)
 {
   return __builtin_mips_any_c_ult_4s (a, b, c, d);
 }
 
-NOMIPS16 int test11 (v2sf a, v2sf b, v2sf c, v2sf d)
+NOMICROMIPSandNOMIPS16 int test11 (v2sf a, v2sf b, v2sf c, v2sf d)
 {
   return __builtin_mips_all_c_ult_4s (a, b, c, d);
 }
 
-NOMIPS16 int test12 (v2sf a, v2sf b, v2sf c, v2sf d)
+NOMICROMIPSandNOMIPS16 int test12 (v2sf a, v2sf b, v2sf c, v2sf d)
 {
   return __builtin_mips_any_c_ole_4s (a, b, c, d);
 }
 
-NOMIPS16 int test13 (v2sf a, v2sf b, v2sf c, v2sf d)
+NOMICROMIPSandNOMIPS16 int test13 (v2sf a, v2sf b, v2sf c, v2sf d)
 {
   return __builtin_mips_all_c_ole_4s (a, b, c, d);
 }
 
-NOMIPS16 int test14 (v2sf a, v2sf b, v2sf c, v2sf d)
+NOMICROMIPSandNOMIPS16 int test14 (v2sf a, v2sf b, v2sf c, v2sf d)
 {
   return __builtin_mips_any_c_ule_4s (a, b, c, d);
 }
 
-NOMIPS16 int test15 (v2sf a, v2sf b, v2sf c, v2sf d)
+NOMICROMIPSandNOMIPS16 int test15 (v2sf a, v2sf b, v2sf c, v2sf d)
 {
   return __builtin_mips_all_c_ule_4s (a, b, c, d);
 }
 
-NOMIPS16 int test16 (v2sf a, v2sf b, v2sf c, v2sf d)
+NOMICROMIPSandNOMIPS16 int test16 (v2sf a, v2sf b, v2sf c, v2sf d)
 {
   return __builtin_mips_any_c_sf_4s (a, b, c, d);
 }
 
-NOMIPS16 int test17 (v2sf a, v2sf b, v2sf c, v2sf d)
+NOMICROMIPSandNOMIPS16 int test17 (v2sf a, v2sf b, v2sf c, v2sf d)
 {
   return __builtin_mips_all_c_sf_4s (a, b, c, d);
 }
 
-NOMIPS16 int test18 (v2sf a, v2sf b, v2sf c, v2sf d)
+NOMICROMIPSandNOMIPS16 int test18 (v2sf a, v2sf b, v2sf c, v2sf d)
 {
   return __builtin_mips_any_c_ngle_4s (a, b, c, d);
 }
 
-NOMIPS16 int test19 (v2sf a, v2sf b, v2sf c, v2sf d)
+NOMICROMIPSandNOMIPS16 int test19 (v2sf a, v2sf b, v2sf c, v2sf d)
 {
   return __builtin_mips_all_c_ngle_4s (a, b, c, d);
 }
 
-NOMIPS16 int test20 (v2sf a, v2sf b, v2sf c, v2sf d)
+NOMICROMIPSandNOMIPS16 int test20 (v2sf a, v2sf b, v2sf c, v2sf d)
 {
   return __builtin_mips_any_c_seq_4s (a, b, c, d);
 }
 
-NOMIPS16 int test21 (v2sf a, v2sf b, v2sf c, v2sf d)
+NOMICROMIPSandNOMIPS16 int test21 (v2sf a, v2sf b, v2sf c, v2sf d)
 {
   return __builtin_mips_all_c_seq_4s (a, b, c, d);
 }
 
-NOMIPS16 int test22 (v2sf a, v2sf b, v2sf c, v2sf d)
+NOMICROMIPSandNOMIPS16 int test22 (v2sf a, v2sf b, v2sf c, v2sf d)
 {
   return __builtin_mips_any_c_ngl_4s (a, b, c, d);
 }
 
-NOMIPS16 int test23 (v2sf a, v2sf b, v2sf c, v2sf d)
+NOMICROMIPSandNOMIPS16 int test23 (v2sf a, v2sf b, v2sf c, v2sf d)
 {
   return __builtin_mips_all_c_ngl_4s (a, b, c, d);
 }
 
-NOMIPS16 int test24 (v2sf a, v2sf b, v2sf c, v2sf d)
+NOMICROMIPSandNOMIPS16 int test24 (v2sf a, v2sf b, v2sf c, v2sf d)
 {
   return __builtin_mips_any_c_lt_4s (a, b, c, d);
 }
 
-NOMIPS16 int test25 (v2sf a, v2sf b, v2sf c, v2sf d)
+NOMICROMIPSandNOMIPS16 int test25 (v2sf a, v2sf b, v2sf c, v2sf d)
 {
   return __builtin_mips_all_c_lt_4s (a, b, c, d);
 }
 
-NOMIPS16 int test26 (v2sf a, v2sf b, v2sf c, v2sf d)
+NOMICROMIPSandNOMIPS16 int test26 (v2sf a, v2sf b, v2sf c, v2sf d)
 {
   return __builtin_mips_any_c_nge_4s (a, b, c, d);
 }
 
-NOMIPS16 int test27 (v2sf a, v2sf b, v2sf c, v2sf d)
+NOMICROMIPSandNOMIPS16 int test27 (v2sf a, v2sf b, v2sf c, v2sf d)
 {
   return __builtin_mips_all_c_nge_4s (a, b, c, d);
 }
 
-NOMIPS16 int test28 (v2sf a, v2sf b, v2sf c, v2sf d)
+NOMICROMIPSandNOMIPS16 int test28 (v2sf a, v2sf b, v2sf c, v2sf d)
 {
   return __builtin_mips_any_c_le_4s (a, b, c, d);
 }
 
-NOMIPS16 int test29 (v2sf a, v2sf b, v2sf c, v2sf d)
+NOMICROMIPSandNOMIPS16 int test29 (v2sf a, v2sf b, v2sf c, v2sf d)
 {
   return __builtin_mips_all_c_le_4s (a, b, c, d);
 }
 
-NOMIPS16 int test30 (v2sf a, v2sf b, v2sf c, v2sf d)
+NOMICROMIPSandNOMIPS16 int test30 (v2sf a, v2sf b, v2sf c, v2sf d)
 {
   return __builtin_mips_any_c_ngt_4s (a, b, c, d);
 }
 
-NOMIPS16 int test31 (v2sf a, v2sf b, v2sf c, v2sf d)
+NOMICROMIPSandNOMIPS16 int test31 (v2sf a, v2sf b, v2sf c, v2sf d)
 {
   return __builtin_mips_all_c_ngt_4s (a, b, c, d);
 }
Index: gcc.target/mips/mips32-dspr2.c
===================================================================
--- gcc.target/mips/mips32-dspr2.c	(revision 160766)
+++ gcc.target/mips/mips32-dspr2.c	(working copy)
@@ -13,7 +13,7 @@  typedef long long a64;
 
 void abort (void);
 
-NOMIPS16 void test_MIPS_DSPR2 (void);
+NOMICROMIPSandNOMIPS16 void test_MIPS_DSPR2 (void);
 
 int little_endian;
 
@@ -28,7 +28,7 @@  int main ()
   return 0;
 }
 
-NOMIPS16 void test_MIPS_DSPR2 ()
+NOMICROMIPSandNOMIPS16 void test_MIPS_DSPR2 ()
 {
   v4q7 v4q7_a,v4q7_b,v4q7_c,v4q7_r,v4q7_s;
   v4i8 v4i8_a,v4i8_b,v4i8_c,v4i8_r,v4i8_s;
Index: gcc.target/mips/mips16-attributes.c
===================================================================
--- gcc.target/mips/mips16-attributes.c	(revision 160766)
+++ gcc.target/mips/mips16-attributes.c	(working copy)
@@ -2,6 +2,7 @@ 
    of calling a nomips16/mips16/default function from a nomips16/mips16/default
    function.  */
 /* { dg-do run } */
+/* { dg-skip-if "" { *-*-* } { "-mmicromips" } { "" } } */
 /* { dg-options "(-mips16)" } */
 
 #include <stdlib.h>
Index: gcc.target/mips/mips-3d-5.c
===================================================================
--- gcc.target/mips/mips-3d-5.c	(revision 160766)
+++ gcc.target/mips/mips-3d-5.c	(working copy)
@@ -7,42 +7,42 @@ 
 
 typedef float v2sf __attribute__ ((vector_size(8)));
 
-NOMIPS16 int test0 (v2sf a, v2sf b, v2sf c, v2sf d);
-NOMIPS16 int test1 (v2sf a, v2sf b, v2sf c, v2sf d);
-NOMIPS16 int test2 (v2sf a, v2sf b, v2sf c, v2sf d);
-NOMIPS16 int test3 (v2sf a, v2sf b, v2sf c, v2sf d);
-NOMIPS16 int test4 (v2sf a, v2sf b, v2sf c, v2sf d);
-NOMIPS16 int test5 (v2sf a, v2sf b, v2sf c, v2sf d);
-NOMIPS16 int test6 (v2sf a, v2sf b, v2sf c, v2sf d);
-NOMIPS16 int test7 (v2sf a, v2sf b, v2sf c, v2sf d);
-NOMIPS16 int test8 (v2sf a, v2sf b, v2sf c, v2sf d);
-NOMIPS16 int test9 (v2sf a, v2sf b, v2sf c, v2sf d);
-NOMIPS16 int test10 (v2sf a, v2sf b, v2sf c, v2sf d);
-NOMIPS16 int test11 (v2sf a, v2sf b, v2sf c, v2sf d);
-NOMIPS16 int test12 (v2sf a, v2sf b, v2sf c, v2sf d);
-NOMIPS16 int test13 (v2sf a, v2sf b, v2sf c, v2sf d);
-NOMIPS16 int test14 (v2sf a, v2sf b, v2sf c, v2sf d);
-NOMIPS16 int test15 (v2sf a, v2sf b, v2sf c, v2sf d);
-NOMIPS16 int test16 (v2sf a, v2sf b, v2sf c, v2sf d);
-NOMIPS16 int test17 (v2sf a, v2sf b, v2sf c, v2sf d);
-NOMIPS16 int test18 (v2sf a, v2sf b, v2sf c, v2sf d);
-NOMIPS16 int test19 (v2sf a, v2sf b, v2sf c, v2sf d);
-NOMIPS16 int test20 (v2sf a, v2sf b, v2sf c, v2sf d);
-NOMIPS16 int test21 (v2sf a, v2sf b, v2sf c, v2sf d);
-NOMIPS16 int test22 (v2sf a, v2sf b, v2sf c, v2sf d);
-NOMIPS16 int test23 (v2sf a, v2sf b, v2sf c, v2sf d);
-NOMIPS16 int test24 (v2sf a, v2sf b, v2sf c, v2sf d);
-NOMIPS16 int test25 (v2sf a, v2sf b, v2sf c, v2sf d);
-NOMIPS16 int test26 (v2sf a, v2sf b, v2sf c, v2sf d);
-NOMIPS16 int test27 (v2sf a, v2sf b, v2sf c, v2sf d);
-NOMIPS16 int test28 (v2sf a, v2sf b, v2sf c, v2sf d);
-NOMIPS16 int test29 (v2sf a, v2sf b, v2sf c, v2sf d);
-NOMIPS16 int test30 (v2sf a, v2sf b, v2sf c, v2sf d);
-NOMIPS16 int test31 (v2sf a, v2sf b, v2sf c, v2sf d);
+NOMICROMIPSandNOMIPS16 int test0 (v2sf a, v2sf b, v2sf c, v2sf d);
+NOMICROMIPSandNOMIPS16 int test1 (v2sf a, v2sf b, v2sf c, v2sf d);
+NOMICROMIPSandNOMIPS16 int test2 (v2sf a, v2sf b, v2sf c, v2sf d);
+NOMICROMIPSandNOMIPS16 int test3 (v2sf a, v2sf b, v2sf c, v2sf d);
+NOMICROMIPSandNOMIPS16 int test4 (v2sf a, v2sf b, v2sf c, v2sf d);
+NOMICROMIPSandNOMIPS16 int test5 (v2sf a, v2sf b, v2sf c, v2sf d);
+NOMICROMIPSandNOMIPS16 int test6 (v2sf a, v2sf b, v2sf c, v2sf d);
+NOMICROMIPSandNOMIPS16 int test7 (v2sf a, v2sf b, v2sf c, v2sf d);
+NOMICROMIPSandNOMIPS16 int test8 (v2sf a, v2sf b, v2sf c, v2sf d);
+NOMICROMIPSandNOMIPS16 int test9 (v2sf a, v2sf b, v2sf c, v2sf d);
+NOMICROMIPSandNOMIPS16 int test10 (v2sf a, v2sf b, v2sf c, v2sf d);
+NOMICROMIPSandNOMIPS16 int test11 (v2sf a, v2sf b, v2sf c, v2sf d);
+NOMICROMIPSandNOMIPS16 int test12 (v2sf a, v2sf b, v2sf c, v2sf d);
+NOMICROMIPSandNOMIPS16 int test13 (v2sf a, v2sf b, v2sf c, v2sf d);
+NOMICROMIPSandNOMIPS16 int test14 (v2sf a, v2sf b, v2sf c, v2sf d);
+NOMICROMIPSandNOMIPS16 int test15 (v2sf a, v2sf b, v2sf c, v2sf d);
+NOMICROMIPSandNOMIPS16 int test16 (v2sf a, v2sf b, v2sf c, v2sf d);
+NOMICROMIPSandNOMIPS16 int test17 (v2sf a, v2sf b, v2sf c, v2sf d);
+NOMICROMIPSandNOMIPS16 int test18 (v2sf a, v2sf b, v2sf c, v2sf d);
+NOMICROMIPSandNOMIPS16 int test19 (v2sf a, v2sf b, v2sf c, v2sf d);
+NOMICROMIPSandNOMIPS16 int test20 (v2sf a, v2sf b, v2sf c, v2sf d);
+NOMICROMIPSandNOMIPS16 int test21 (v2sf a, v2sf b, v2sf c, v2sf d);
+NOMICROMIPSandNOMIPS16 int test22 (v2sf a, v2sf b, v2sf c, v2sf d);
+NOMICROMIPSandNOMIPS16 int test23 (v2sf a, v2sf b, v2sf c, v2sf d);
+NOMICROMIPSandNOMIPS16 int test24 (v2sf a, v2sf b, v2sf c, v2sf d);
+NOMICROMIPSandNOMIPS16 int test25 (v2sf a, v2sf b, v2sf c, v2sf d);
+NOMICROMIPSandNOMIPS16 int test26 (v2sf a, v2sf b, v2sf c, v2sf d);
+NOMICROMIPSandNOMIPS16 int test27 (v2sf a, v2sf b, v2sf c, v2sf d);
+NOMICROMIPSandNOMIPS16 int test28 (v2sf a, v2sf b, v2sf c, v2sf d);
+NOMICROMIPSandNOMIPS16 int test29 (v2sf a, v2sf b, v2sf c, v2sf d);
+NOMICROMIPSandNOMIPS16 int test30 (v2sf a, v2sf b, v2sf c, v2sf d);
+NOMICROMIPSandNOMIPS16 int test31 (v2sf a, v2sf b, v2sf c, v2sf d);
 
 float qnan = 1.0f/0.0f - 1.0f/0.0f;
 
-NOMIPS16 int main ()
+NOMICROMIPSandNOMIPS16 int main ()
 {
   v2sf a, b, c, d;
   int i, j;
@@ -429,162 +429,162 @@  NOMIPS16 int main ()
   exit (0);
 }
 
-NOMIPS16 int test0 (v2sf a, v2sf b, v2sf c, v2sf d)
+NOMICROMIPSandNOMIPS16 int test0 (v2sf a, v2sf b, v2sf c, v2sf d)
 {
   return __builtin_mips_any_cabs_f_4s (a, b, c, d);
 }
 
-NOMIPS16 int test1 (v2sf a, v2sf b, v2sf c, v2sf d)
+NOMICROMIPSandNOMIPS16 int test1 (v2sf a, v2sf b, v2sf c, v2sf d)
 {
   return __builtin_mips_all_cabs_f_4s (a, b, c, d);
 }
 
-NOMIPS16 int test2 (v2sf a, v2sf b, v2sf c, v2sf d)
+NOMICROMIPSandNOMIPS16 int test2 (v2sf a, v2sf b, v2sf c, v2sf d)
 {
   return __builtin_mips_any_cabs_un_4s (a, b, c, d);
 }
 
-NOMIPS16 int test3 (v2sf a, v2sf b, v2sf c, v2sf d)
+NOMICROMIPSandNOMIPS16 int test3 (v2sf a, v2sf b, v2sf c, v2sf d)
 {
   return __builtin_mips_all_cabs_un_4s (a, b, c, d);
 }
 
-NOMIPS16 int test4 (v2sf a, v2sf b, v2sf c, v2sf d)
+NOMICROMIPSandNOMIPS16 int test4 (v2sf a, v2sf b, v2sf c, v2sf d)
 {
   return __builtin_mips_any_cabs_eq_4s (a, b, c, d);
 }
 
-NOMIPS16 int test5 (v2sf a, v2sf b, v2sf c, v2sf d)
+NOMICROMIPSandNOMIPS16 int test5 (v2sf a, v2sf b, v2sf c, v2sf d)
 {
   return __builtin_mips_all_cabs_eq_4s (a, b, c, d);
 }
 
-NOMIPS16 int test6 (v2sf a, v2sf b, v2sf c, v2sf d)
+NOMICROMIPSandNOMIPS16 int test6 (v2sf a, v2sf b, v2sf c, v2sf d)
 {
   return __builtin_mips_any_cabs_ueq_4s (a, b, c, d);
 }
 
-NOMIPS16 int test7 (v2sf a, v2sf b, v2sf c, v2sf d)
+NOMICROMIPSandNOMIPS16 int test7 (v2sf a, v2sf b, v2sf c, v2sf d)
 {
   return __builtin_mips_all_cabs_ueq_4s (a, b, c, d);
 }
 
-NOMIPS16 int test8 (v2sf a, v2sf b, v2sf c, v2sf d)
+NOMICROMIPSandNOMIPS16 int test8 (v2sf a, v2sf b, v2sf c, v2sf d)
 {
   return __builtin_mips_any_cabs_olt_4s (a, b, c, d);
 }
 
-NOMIPS16 int test9 (v2sf a, v2sf b, v2sf c, v2sf d)
+NOMICROMIPSandNOMIPS16 int test9 (v2sf a, v2sf b, v2sf c, v2sf d)
 {
   return __builtin_mips_all_cabs_olt_4s (a, b, c, d);
 }
 
-NOMIPS16 int test10 (v2sf a, v2sf b, v2sf c, v2sf d)
+NOMICROMIPSandNOMIPS16 int test10 (v2sf a, v2sf b, v2sf c, v2sf d)
 {
   return __builtin_mips_any_cabs_ult_4s (a, b, c, d);
 }
 
-NOMIPS16 int test11 (v2sf a, v2sf b, v2sf c, v2sf d)
+NOMICROMIPSandNOMIPS16 int test11 (v2sf a, v2sf b, v2sf c, v2sf d)
 {
   return __builtin_mips_all_cabs_ult_4s (a, b, c, d);
 }
 
-NOMIPS16 int test12 (v2sf a, v2sf b, v2sf c, v2sf d)
+NOMICROMIPSandNOMIPS16 int test12 (v2sf a, v2sf b, v2sf c, v2sf d)
 {
   return __builtin_mips_any_cabs_ole_4s (a, b, c, d);
 }
 
-NOMIPS16 int test13 (v2sf a, v2sf b, v2sf c, v2sf d)
+NOMICROMIPSandNOMIPS16 int test13 (v2sf a, v2sf b, v2sf c, v2sf d)
 {
   return __builtin_mips_all_cabs_ole_4s (a, b, c, d);
 }
 
-NOMIPS16 int test14 (v2sf a, v2sf b, v2sf c, v2sf d)
+NOMICROMIPSandNOMIPS16 int test14 (v2sf a, v2sf b, v2sf c, v2sf d)
 {
   return __builtin_mips_any_cabs_ule_4s (a, b, c, d);
 }
 
-NOMIPS16 int test15 (v2sf a, v2sf b, v2sf c, v2sf d)
+NOMICROMIPSandNOMIPS16 int test15 (v2sf a, v2sf b, v2sf c, v2sf d)
 {
   return __builtin_mips_all_cabs_ule_4s (a, b, c, d);
 }
 
-NOMIPS16 int test16 (v2sf a, v2sf b, v2sf c, v2sf d)
+NOMICROMIPSandNOMIPS16 int test16 (v2sf a, v2sf b, v2sf c, v2sf d)
 {
   return __builtin_mips_any_cabs_sf_4s (a, b, c, d);
 }
 
-NOMIPS16 int test17 (v2sf a, v2sf b, v2sf c, v2sf d)
+NOMICROMIPSandNOMIPS16 int test17 (v2sf a, v2sf b, v2sf c, v2sf d)
 {
   return __builtin_mips_all_cabs_sf_4s (a, b, c, d);
 }
 
-NOMIPS16 int test18 (v2sf a, v2sf b, v2sf c, v2sf d)
+NOMICROMIPSandNOMIPS16 int test18 (v2sf a, v2sf b, v2sf c, v2sf d)
 {
   return __builtin_mips_any_cabs_ngle_4s (a, b, c, d);
 }
 
-NOMIPS16 int test19 (v2sf a, v2sf b, v2sf c, v2sf d)
+NOMICROMIPSandNOMIPS16 int test19 (v2sf a, v2sf b, v2sf c, v2sf d)
 {
   return __builtin_mips_all_cabs_ngle_4s (a, b, c, d);
 }
 
-NOMIPS16 int test20 (v2sf a, v2sf b, v2sf c, v2sf d)
+NOMICROMIPSandNOMIPS16 int test20 (v2sf a, v2sf b, v2sf c, v2sf d)
 {
   return __builtin_mips_any_cabs_seq_4s (a, b, c, d);
 }
 
-NOMIPS16 int test21 (v2sf a, v2sf b, v2sf c, v2sf d)
+NOMICROMIPSandNOMIPS16 int test21 (v2sf a, v2sf b, v2sf c, v2sf d)
 {
   return __builtin_mips_all_cabs_seq_4s (a, b, c, d);
 }
 
-NOMIPS16 int test22 (v2sf a, v2sf b, v2sf c, v2sf d)
+NOMICROMIPSandNOMIPS16 int test22 (v2sf a, v2sf b, v2sf c, v2sf d)
 {
   return __builtin_mips_any_cabs_ngl_4s (a, b, c, d);
 }
 
-NOMIPS16 int test23 (v2sf a, v2sf b, v2sf c, v2sf d)
+NOMICROMIPSandNOMIPS16 int test23 (v2sf a, v2sf b, v2sf c, v2sf d)
 {
   return __builtin_mips_all_cabs_ngl_4s (a, b, c, d);
 }
 
-NOMIPS16 int test24 (v2sf a, v2sf b, v2sf c, v2sf d)
+NOMICROMIPSandNOMIPS16 int test24 (v2sf a, v2sf b, v2sf c, v2sf d)
 {
   return __builtin_mips_any_cabs_lt_4s (a, b, c, d);
 }
 
-NOMIPS16 int test25 (v2sf a, v2sf b, v2sf c, v2sf d)
+NOMICROMIPSandNOMIPS16 int test25 (v2sf a, v2sf b, v2sf c, v2sf d)
 {
   return __builtin_mips_all_cabs_lt_4s (a, b, c, d);
 }
 
-NOMIPS16 int test26 (v2sf a, v2sf b, v2sf c, v2sf d)
+NOMICROMIPSandNOMIPS16 int test26 (v2sf a, v2sf b, v2sf c, v2sf d)
 {
   return __builtin_mips_any_cabs_nge_4s (a, b, c, d);
 }
 
-NOMIPS16 int test27 (v2sf a, v2sf b, v2sf c, v2sf d)
+NOMICROMIPSandNOMIPS16 int test27 (v2sf a, v2sf b, v2sf c, v2sf d)
 {
   return __builtin_mips_all_cabs_nge_4s (a, b, c, d);
 }
 
-NOMIPS16 int test28 (v2sf a, v2sf b, v2sf c, v2sf d)
+NOMICROMIPSandNOMIPS16 int test28 (v2sf a, v2sf b, v2sf c, v2sf d)
 {
   return __builtin_mips_any_cabs_le_4s (a, b, c, d);
 }
 
-NOMIPS16 int test29 (v2sf a, v2sf b, v2sf c, v2sf d)
+NOMICROMIPSandNOMIPS16 int test29 (v2sf a, v2sf b, v2sf c, v2sf d)
 {
   return __builtin_mips_all_cabs_le_4s (a, b, c, d);
 }
 
-NOMIPS16 int test30 (v2sf a, v2sf b, v2sf c, v2sf d)
+NOMICROMIPSandNOMIPS16 int test30 (v2sf a, v2sf b, v2sf c, v2sf d)
 {
   return __builtin_mips_any_cabs_ngt_4s (a, b, c, d);
 }
 
-NOMIPS16 int test31 (v2sf a, v2sf b, v2sf c, v2sf d)
+NOMICROMIPSandNOMIPS16 int test31 (v2sf a, v2sf b, v2sf c, v2sf d)
 {
   return __builtin_mips_all_cabs_ngt_4s (a, b, c, d);
 }