debug-1.c: Use -fno-if-conversion MIPS targets.
authorRichard Sandiford <richard@codesourcery.com>
Sat, 7 Oct 2006 09:22:20 +0000 (09:22 +0000)
committerRichard Sandiford <rsandifo@gcc.gnu.org>
Sat, 7 Oct 2006 09:22:20 +0000 (09:22 +0000)
gcc/testsuite/
* gcc.dg/debug/debug-1.c: Use -fno-if-conversion MIPS targets.
* gcc.dg/debug/debug-2.c: Likewise.

From-SVN: r117530

gcc/testsuite/ChangeLog
gcc/testsuite/gcc.dg/debug/debug-1.c
gcc/testsuite/gcc.dg/debug/debug-2.c

index 608682795cdbb44370b4cc5016a7d2393a0f86f9..83be965f88d13d20bf2cd0d1045e78f23f4d3088 100644 (file)
@@ -1,3 +1,8 @@
+2006-10-07  Richard Sandiford  <richard@codesourcery.com>
+
+       * gcc.dg/debug/debug-1.c: Use -fno-if-conversion MIPS targets.
+       * gcc.dg/debug/debug-2.c: Likewise.
+
 2006-10-06  Uros Bizjak  <uros@kss-loka.si>
 
        * gcc.c-torture/compile/sync-2.c: New test.
index 8cc520dcd7972175d017e55117584df3d9f62a7d..35b5c91b1f33ef5305b587fa033db327c6f11715 100644 (file)
@@ -1,6 +1,24 @@
 /* Verify that the scheduler does not discard the lexical block.  */
 /* { dg-do compile } */
 /* { dg-options "-dA" } */
+/* On MIPS targets that support conditional moves, the optimal
+   implementation of this function is:
+
+       l[wd] tmp,p
+       li $2,2
+       jr $31
+       movz $2,$0,tmp
+
+   After if-conversion, we have a conditional move into a pseudo P
+   followed a copy of P into the return register ($2).  P is associated
+   with xyzzy, so if-conversion is behaving as expected, and has not lost
+   the variable association.  The destination of the second instruction
+   is associated with the function return value.  Combine then combines
+   these two instructions, removing the last use of P and xyzzy.
+
+   Everything is behaving as expected in this scenario, so we avoid
+   using conditional moves for this test.  */
+/* { dg-options "-dA -fno-if-conversion" { target mips*-*-* } } */
 /* { dg-final { scan-assembler "xyzzy" } } */
 
 long p;
index b164ff977349edf97af0e977b47911a318f201df..1e86f2fc706172e03ff2e203209dfb97ab0645f1 100644 (file)
@@ -1,6 +1,8 @@
 /* Verify that the scheduler does not discard the lexical block.  */
 /* { dg-do compile } */
 /* { dg-options "-dA" } */
+/* See the comment in debug-1.c.  */
+/* { dg-options "-dA -fno-if-conversion" { target mips*-*-* } } */
 /* { dg-final { scan-assembler "xyzzy" } } */
 
 long p;