]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
testsuite: i386: Fix gcc.target/i386/apx-ndd-cmov.c on Solaris/x86
authorRainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
Fri, 2 Feb 2024 08:33:16 +0000 (09:33 +0100)
committerRainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
Fri, 2 Feb 2024 08:33:16 +0000 (09:33 +0100)
gcc.target/i386/apx-ndd-cmov.c FAILs on 64-bit Solaris/x86 with the
native assembler:

FAIL: gcc.target/i386/apx-ndd-cmov.c scan-assembler-times cmove[^\\n\\r]*, %eax 1
FAIL: gcc.target/i386/apx-ndd-cmov.c scan-assembler-times cmovge[^\\n\\r]*, %eax 1

The gas vs. as difference is

-       cmove   c+4(%rip), %esi, %eax
+       cmovl.e c+4(%rip), %esi, %eax

-       cmovge  %ecx, %edx, %eax
+       cmovl.ge        %ecx, %edx, %eax

This patch accounts for both forms.

Tested on i386-pc-solaris2.11 (as and gas) and i686-pc-linux-gnu.

2024-02-01  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>

gcc/testsuite:
* gcc.target/i386/apx-ndd-cmov.c (scan-assembler-times): Allow for
cmovl.e, cmovl.ge.

gcc/testsuite/gcc.target/i386/apx-ndd-cmov.c

index 459dc965342b73b660e663a6c1152a9109a477d6..1406db57e0fd153abf3286b1446c20c06310b1d2 100644 (file)
@@ -1,7 +1,7 @@
 /* { dg-do compile { target { ! ia32 } } } */
 /* { dg-options "-O2 -m64 -mapxf" } */
-/* { dg-final { scan-assembler-times "cmove\[^\n\r]*, %eax" 1 } } */
-/* { dg-final { scan-assembler-times "cmovge\[^\n\r]*, %eax" 1 } } */
+/* { dg-final { scan-assembler-times "cmov(l\.)?e\[^\n\r]*, %eax" 1 } } */
+/* { dg-final { scan-assembler-times "cmov(l\.)?ge\[^\n\r]*, %eax" 1 } } */
 
 unsigned int c[4];