[committed,PR,target/109549] Adjust mips test for recent ifcvt costing changes

Message ID 3370f73f-51d8-bd79-302f-d0593cebe832@ventanamicro.com
State Committed
Commit ef6c3095aabe75af727a269d91d9ffa37f982ace
Headers
Series [committed,PR,target/109549] Adjust mips test for recent ifcvt costing changes |

Commit Message

Jeff Law April 29, 2023, 4:21 p.m. UTC
  MIPS ports have been failing a few tests since the change to add cost 
checks in another path through the if-converter pass.

As with the other ports, these look like cases where we don't do good 
costing in the MIPS port.  Someone who cares about MIPS will need to fix 
this properly.

In the mean time this patch adjusts the branch cost when running the two 
affected tests and skips them at -Os.  This is enough to verify that if 
conversion can still happen if the costs are adjusted.

Committed to the trunk.

Jeff
commit ef6c3095aabe75af727a269d91d9ffa37f982ace
Author: Jeff Law <jlaw@ventanamicro>
Date:   Sat Apr 29 10:16:21 2023 -0600

    Adjust mips test for recent ifcvt costing changes
    
    MIPS ports have been failing a few tests since the change to add cost
    checks in another path through the if-converter pass.
    
    As with the other ports, these look like cases where we don't do good
    costing in the MIPS port.  Someone who cares about MIPS will need to
    fix this properly.
    
    In the mean time this patch adjusts the branch cost when running the
    two affected tests and skips them at -Os.  This is enough to verify
    that if conversion can still happen if the costs are adjusted.
    
    gcc/testsuite
            * gcc.target/mips/mips-ps-type-2.c: Adjust branch cost to
            encourage if-conversion.  Skip for -Os.
            * gcc.target/mips/movcc-3.c: Similarly.
  

Patch

diff --git a/gcc/testsuite/gcc.target/mips/mips-ps-type-2.c b/gcc/testsuite/gcc.target/mips/mips-ps-type-2.c
index ed5d6ee1663..e5cb7d48dae 100644
--- a/gcc/testsuite/gcc.target/mips/mips-ps-type-2.c
+++ b/gcc/testsuite/gcc.target/mips/mips-ps-type-2.c
@@ -1,8 +1,8 @@ 
 /* Test v2sf calculations.  The nmadd and nmsub patterns need
    -ffinite-math-only.  */
 /* { dg-do compile } */
-/* { dg-options "(HAS_MADDPS) -mmadd4 -mgp32 -mpaired-single -ffinite-math-only forbid_cpu=octeon.*" } */
-/* { dg-skip-if "nmadd and nmsub need combine" { *-*-* } { "-O0" } { "" } } */
+/* { dg-options "(HAS_MADDPS) -mmadd4 -mgp32 -mpaired-single -ffinite-math-only forbid_cpu=octeon.* -mbranch-cost=2" } */
+/* { dg-skip-if "nmadd and nmsub need combine" { *-*-* } { "-O0" "-Os" } { "" } } */
 /* { dg-final { scan-assembler "\tcvt.ps.s\t" } } */
 /* { dg-final { scan-assembler "\tmov.ps\t" } } */
 /* { dg-final { scan-assembler "\tldc1\t" } } */
diff --git a/gcc/testsuite/gcc.target/mips/movcc-3.c b/gcc/testsuite/gcc.target/mips/movcc-3.c
index 55434b72c72..80d44098a3f 100644
--- a/gcc/testsuite/gcc.target/mips/movcc-3.c
+++ b/gcc/testsuite/gcc.target/mips/movcc-3.c
@@ -1,6 +1,6 @@ 
 /* { dg-do compile } */
-/* { dg-options "(HAS_MOVN) -mhard-float" } */
-/* { dg-skip-if "code quality test" { *-*-* } { "-O0" } { "" } } */
+/* { dg-options "(HAS_MOVN) -mhard-float -mbranch-cost=2" } */
+/* { dg-skip-if "code quality test" { *-*-* } { "-O0" "-Os" } { "" } } */
 /* { dg-final { scan-assembler "\tmovt\t" } } */
 /* { dg-final { scan-assembler "\tmovf\t" } } */
 /* { dg-final { scan-assembler "\tmovz.s\t" } } */