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 <[email protected]>
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)
{