diff options
author | Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> | 2024-02-02 09:33:16 +0100 |
---|---|---|
committer | Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> | 2024-02-02 09:33:16 +0100 |
commit | 63f0907bbbc941f4aca5f44655af02675a5b47f5 (patch) | |
tree | dfc9b3f5f625e563db61a7bf4f353eaba3bdec79 | |
parent | 56891a20ac190413de3d68fc82fe3554439fbbe7 (diff) | |
download | gcc-63f0907bbbc941f4aca5f44655af02675a5b47f5.zip gcc-63f0907bbbc941f4aca5f44655af02675a5b47f5.tar.gz gcc-63f0907bbbc941f4aca5f44655af02675a5b47f5.tar.bz2 |
testsuite: i386: Fix gcc.target/i386/apx-ndd-cmov.c on Solaris/x86
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.
-rw-r--r-- | gcc/testsuite/gcc.target/i386/apx-ndd-cmov.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/gcc/testsuite/gcc.target/i386/apx-ndd-cmov.c b/gcc/testsuite/gcc.target/i386/apx-ndd-cmov.c index 459dc96..1406db5 100644 --- a/gcc/testsuite/gcc.target/i386/apx-ndd-cmov.c +++ b/gcc/testsuite/gcc.target/i386/apx-ndd-cmov.c @@ -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]; |