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)
 {

Reply via email to