Update paired single tests to cope with ABI fixes for o32/o64
authorMatthew Fortune <matthew.fortune@imgtec.com>
Fri, 24 Feb 2017 22:34:25 +0000 (22:34 +0000)
committerMatthew Fortune <mpf@gcc.gnu.org>
Fri, 24 Feb 2017 22:34:25 +0000 (22:34 +0000)
gcc/testsuite/

* gcc.target/mips/mips-ps-type-2.c (move): Force generation
of mov.ps.
* gcc.target/mips/mips-ps-type.c (move): Likewise.
(cond_move1): Simplify condition to force generation of
mov[nz].ps.
(cond_move2): Likewise.

From-SVN: r245722

gcc/testsuite/ChangeLog
gcc/testsuite/gcc.target/mips/mips-ps-type-2.c
gcc/testsuite/gcc.target/mips/mips-ps-type.c

index 0ecaa9610225ba96c1ecabeebe20a2c4f745765d..ce7a3d480583f4a824f08a7309e0b6cb1025a414 100644 (file)
@@ -1,3 +1,12 @@
+2017-02-24  Matthew Fortune  <matthew.fortune@imgtec.com>
+
+       * gcc.target/mips/mips-ps-type-2.c (move): Force generation
+       of mov.ps.
+       * gcc.target/mips/mips-ps-type.c (move): Likewise.
+       (cond_move1): Simplify condition to force generation of
+       mov[nz].ps.
+       (cond_move2): Likewise.
+
 2017-02-24  Jakub Jelinek  <jakub@redhat.com>
 
        PR c++/79588
index fecc35ba9e5481641e2f4d12e56ed4fda9f45da8..ed5d6ee166371f49d206a7708c2a4664fdeb00ca 100644 (file)
@@ -32,6 +32,11 @@ NOMIPS16 v2sf init (float a, float b)
 /* Move between registers */
 NOMIPS16 v2sf move (v2sf a)
 {
+  register v2sf b __asm__("$f0") = a;
+  register v2sf c __asm__("$f2");
+  __asm__ __volatile__ ("" : "+f" (b));
+  c = b;
+  __asm__ __volatile__ ("" : : "f" (c));
   return a;
 }
 
index d74d4b527b9dff83eefa5c0d814f17e4ed7c4512..731649c8bd8669260eedbb2a39e84582a18e7b30 100644 (file)
@@ -30,6 +30,11 @@ NOMIPS16 v2sf init (float a, float b)
 /* Move between registers */
 NOMIPS16 v2sf move (v2sf a)
 {
+  register v2sf b __asm__("$f0") = a;
+  register v2sf c __asm__("$f2");
+  __asm__ __volatile__ ("" : "+f" (b));
+  c = b;
+  __asm__ __volatile__ ("" : : "f" (c));
   return a;
 }
 
@@ -96,7 +101,7 @@ NOMIPS16 v2sf nmsub (v2sf a, v2sf b, v2sf c)
 /* Conditional Move */ 
 NOMIPS16 v2sf cond_move1 (v2sf a, v2sf b, long i)
 {
-  if (i > 0)
+  if (i != 0)
     return a;
   else
     return b;
@@ -105,7 +110,7 @@ NOMIPS16 v2sf cond_move1 (v2sf a, v2sf b, long i)
 /* Conditional Move */ 
 NOMIPS16 v2sf cond_move2 (v2sf a, v2sf b, int i)
 {
-  if (i > 0)
+  if (i != 0)
     return a;
   else
     return b;