The new gcc.target/i386/cmov12.c test FAILs on Solaris/x86 with the native as:
FAIL: gcc.target/i386/cmov12.c scan-assembler-times cmovg 3 This happens because as uses a different syntax for cmov: --- cmov12.s.bu243 2025-01-21 16:55:27.038829605 +0100 +++ cmov12.s.bu24390 2025-01-21 16:55:44.565051230 +0100 @@ -41,9 +41,9 @@ leal 1(%rdx), %ebp movl (%r11), %esi cmpl %eax, %esi - cmovg %ebp, %edx - cmovg %r11, %rcx - cmovg %esi, %eax + cmovl.g %ebp, %edx + cmovq.g %r11, %rcx + cmovl.g %esi, %eax The problem is even more prominent with the upcoming gas 2.44 which added support for the Sun as syntax on Solaris, which gcc/configure picks up. This patch allows for both forms. Tested on i386-pc-solaris2.11 and x86_64-pc-linux-gnu. Ok for trunk? Rainer -- ----------------------------------------------------------------------------- Rainer Orth, Center for Biotechnology, Bielefeld University 2025-01-22 Rainer Orth <r...@cebitec.uni-bielefeld.de> gcc/testsuite: * gcc.target/i386/cmov12.c (scan-assembler-times): Allow for cmovl.g etc.
# HG changeset patch # Parent 9105885cf87d5d791f0d9adf6a883fdc75127228 testsuite: i386: Adjust gcc.target/i386/cmov12.c for Sun as syntax diff --git a/gcc/testsuite/gcc.target/i386/cmov12.c b/gcc/testsuite/gcc.target/i386/cmov12.c --- a/gcc/testsuite/gcc.target/i386/cmov12.c +++ b/gcc/testsuite/gcc.target/i386/cmov12.c @@ -1,6 +1,6 @@ /* { dg-do compile { target { ! ia32 } } } */ /* { dg-options "-O2 -mavx2 -mtune=sapphirerapids" } */ -/* { dg-final { scan-assembler-times "cmovg" 3 } } */ +/* { dg-final { scan-assembler-times "cmov(\[lq\]\.)?g" 3 } } */ void foo(int *a, int n, int k) {