[committed,PR,testsuite/109549] Adjust x86 testsuite for recent if-conversion cost checking

Message ID fba5f376-75b6-e8ca-cd56-fa49fc51b668@ventanamicro.com
State Repeat Merge
Headers
Series [committed,PR,testsuite/109549] Adjust x86 testsuite for recent if-conversion cost checking |

Checks

Context Check Description
snail/gcc-patch-check warning Git am fail log

Commit Message

Jeff Law April 21, 2023, 6:27 p.m. UTC
  This test expected if-conversion to happen for a sequence which appears 
to always cost more than a branchy sequence.  This was exposed by a 
recent change to the if-converter to add checking in a path where it was 
missing.

So I've just adjusted the test to assume it should never if-convert into 
cmov instructions.

Committed to the trunk.  There's a few of the embedded targets that are 
regressing in similar manners, so I'm not closing the PR yet.

jeff
commit f1f18198b069f461155191ecba41bc87bf5689dd
Author: Jeff Law <jlaw@ventanamicro>
Date:   Fri Apr 21 12:22:24 2023 -0600

    Adjust x86 testsuite for recent if-conversion cost checking
    
    gcc/testsuite
            PR testsuite/109549
            * gcc.target/i386/cmov6.c: No longer expect this test to
            generate 'cmov' instructions.
  

Patch

diff --git a/gcc/testsuite/gcc.target/i386/cmov6.c b/gcc/testsuite/gcc.target/i386/cmov6.c
index 535326e4c2a..5111c8a9099 100644
--- a/gcc/testsuite/gcc.target/i386/cmov6.c
+++ b/gcc/testsuite/gcc.target/i386/cmov6.c
@@ -1,6 +1,9 @@ 
 /* { dg-do compile } */
 /* { dg-options "-O2 -march=k8" } */
-/* { dg-final { scan-assembler "cmov\[^6\]" } } */
+/* if-converting this sequence would require two cmov
+   instructions and seems to always cost more independent
+   of the TUNE_ONE_IF_CONV setting.  */
+/* { dg-final { scan-assembler-not "cmov\[^6\]" } } */
 
 /* Verify that blocks are converted to conditional moves.  */
 extern int bar (int, int);