I've opened PR target/51729 to track the long-standing failures of
gcc.target/mips/dspr2-MULT{,U}.c.  The problem used to be in the final
two scan-assembler tests, but in the last few months, the -ffixed-hi and
-ffixed-lo options tripped some cost-consistency checking in IRA.
The original scan-assembler failures resurface if that cost checking
is disabled.

-ffixed-hi and -ffixed-lo are not supported options, and really,
any optimisation test that relies on them is pretty weak.  This patch
therefore removes them and XFAILs the failing tests.

Tested on mips64-linux-gnu and applied.

Richard


gcc/testsuite/
        PR target/51729
        * gcc.target/mips/dspr2-MULT.c: Remove -ffixed-hi -ffixed-lo.
        XFAIL.
        * gcc.target/mips/dspr2-MULTU.c: Likewise.

Index: gcc/testsuite/gcc.target/mips/dspr2-MULT.c
===================================================================
--- gcc/testsuite/gcc.target/mips/dspr2-MULT.c  2012-01-02 11:04:58.000000000 
+0000
+++ gcc/testsuite/gcc.target/mips/dspr2-MULT.c  2012-01-02 11:28:10.000000000 
+0000
@@ -1,11 +1,12 @@
 /* Test MIPS32 DSP REV 2 MULT instruction.  Tune for a CPU that has
    pipelined mult.  */
 /* { dg-do compile } */
-/* { dg-options "-mgp32 -mdspr2 -O2 -ffixed-hi -ffixed-lo -mtune=74kc" } */
+/* { dg-options "-mgp32 -mdspr2 -O2 -mtune=74kc" } */
 
+/* See PR target/51729 for the reason behind the XFAILs.  */
 /* { dg-final { scan-assembler "\tmult\t" } } */
-/* { dg-final { scan-assembler "ac1" } } */
-/* { dg-final { scan-assembler "ac2" } } */
+/* { dg-final { scan-assembler "ac1" { xfail *-*-* } } } */
+/* { dg-final { scan-assembler "ac2" { xfail *-*-* } } } */
 
 typedef long long a64;
 
Index: gcc/testsuite/gcc.target/mips/dspr2-MULTU.c
===================================================================
--- gcc/testsuite/gcc.target/mips/dspr2-MULTU.c 2012-01-02 11:04:58.000000000 
+0000
+++ gcc/testsuite/gcc.target/mips/dspr2-MULTU.c 2012-01-02 11:28:22.000000000 
+0000
@@ -1,11 +1,12 @@
 /* Test MIPS32 DSP REV 2 MULTU instruction.  Tune for a CPU that has
    pipelined multu.  */
 /* { dg-do compile } */
-/* { dg-options "-mgp32 -mdspr2 -O2 -ffixed-hi -ffixed-lo -mtune=74kc" } */
+/* { dg-options "-mgp32 -mdspr2 -O2 -mtune=74kc" } */
 
+/* See PR target/51729 for the reason behind the XFAILs.  */
 /* { dg-final { scan-assembler "\tmultu\t" } } */
-/* { dg-final { scan-assembler "ac1" } } */
-/* { dg-final { scan-assembler "ac2" } } */
+/* { dg-final { scan-assembler "ac1" { xfail *-*-* } } } */
+/* { dg-final { scan-assembler "ac2" { xfail *-*-* } } } */
 
 typedef unsigned long long a64;
 

Reply via email to