Commit 4bc2b786 by Matthew Fortune Committed by Matthew Fortune

Update paired single tests to cope with ABI fixes for o32/o64

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
parent 015122d8
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> 2017-02-24 Jakub Jelinek <jakub@redhat.com>
PR c++/79588 PR c++/79588
......
...@@ -32,6 +32,11 @@ NOMIPS16 v2sf init (float a, float b) ...@@ -32,6 +32,11 @@ NOMIPS16 v2sf init (float a, float b)
/* Move between registers */ /* Move between registers */
NOMIPS16 v2sf move (v2sf a) 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; return a;
} }
......
...@@ -30,6 +30,11 @@ NOMIPS16 v2sf init (float a, float b) ...@@ -30,6 +30,11 @@ NOMIPS16 v2sf init (float a, float b)
/* Move between registers */ /* Move between registers */
NOMIPS16 v2sf move (v2sf a) 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; return a;
} }
...@@ -96,7 +101,7 @@ NOMIPS16 v2sf nmsub (v2sf a, v2sf b, v2sf c) ...@@ -96,7 +101,7 @@ NOMIPS16 v2sf nmsub (v2sf a, v2sf b, v2sf c)
/* Conditional Move */ /* Conditional Move */
NOMIPS16 v2sf cond_move1 (v2sf a, v2sf b, long i) NOMIPS16 v2sf cond_move1 (v2sf a, v2sf b, long i)
{ {
if (i > 0) if (i != 0)
return a; return a;
else else
return b; return b;
...@@ -105,7 +110,7 @@ NOMIPS16 v2sf cond_move1 (v2sf a, v2sf b, long i) ...@@ -105,7 +110,7 @@ NOMIPS16 v2sf cond_move1 (v2sf a, v2sf b, long i)
/* Conditional Move */ /* Conditional Move */
NOMIPS16 v2sf cond_move2 (v2sf a, v2sf b, int i) NOMIPS16 v2sf cond_move2 (v2sf a, v2sf b, int i)
{ {
if (i > 0) if (i != 0)
return a; return a;
else else
return b; return b;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment