https://gcc.gnu.org/g:aef738b4a47e6dcf6242485a3f2c1bf4bbad0bdd

commit r17-2029-gaef738b4a47e6dcf6242485a3f2c1bf4bbad0bdd
Author: Rainer Orth <[email protected]>
Date:   Tue Jun 30 21:49:26 2026 +0200

    testsuite: i386: Fix gcc.target/i386/bt-cmov-1.c on Solaris
    
    The new gcc.target/i386/bt-cmov-1.c FAILs on Solaris:
    
    FAIL: gcc.target/i386/bt-cmov-1.c scan-assembler-times cmov[n]*c 4
    
    The Solaris assembler uses a slightly different syntax:
    
            cmovl.c %edx, %eax
            cmovl.nc        %edx, %eax
    
    instead of
    
            cmovc   %edx, %eax
            cmovnc  %edx, %eax
    
    This patch allows for both forms.  At the same time, it avoids escaping
    by using brace quoting.  The character sets with a single character
    aren't necessary.  'l' in "btl" isn't optional or does 'c' in "cmov"
    occur more than one.
    
    Tested on i386-pc-solaris2.11 (as and gas, 32 and 64-bit), and
    x86_64-pc-linux-gnu (32 and 64-bit).
    
    2026-06-30  Rainer Orth  <[email protected]>
    
            gcc/testsuite:
            * gcc.target/i386/bt-cmov-1.c (scan-assembler-times): Simplify
            patterns.  Allow for Solaris as syntax.

Diff:
---
 gcc/testsuite/gcc.target/i386/bt-cmov-1.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/gcc/testsuite/gcc.target/i386/bt-cmov-1.c 
b/gcc/testsuite/gcc.target/i386/bt-cmov-1.c
index 07234c2a9a02..9305997eb826 100644
--- a/gcc/testsuite/gcc.target/i386/bt-cmov-1.c
+++ b/gcc/testsuite/gcc.target/i386/bt-cmov-1.c
@@ -27,7 +27,7 @@ unsigned f3 (unsigned a, unsigned b, unsigned c)
   return ((a >> b) & 1) ? 2 : c;
 }
 
-/* { dg-final { scan-assembler-times "bt\[l\]?\[ \\t\]+" 4 } } */
-/* { dg-final { scan-assembler-times "cmov\[n\]*c" 4 } } */
+/* { dg-final { scan-assembler-times {btl[ \t]+} 4 } } */
+/* { dg-final { scan-assembler-times {cmov(l\.)?n?c} 4 } } */
 /* { dg-final { scan-assembler-not "sal" } } */
 /* { dg-final { scan-assembler-not "shr" } } */

Reply via email to