From: Rainer Orth Date: Tue, 26 Oct 2021 12:23:06 +0000 (+0200) Subject: testsuite: i386: Fix gcc.target/i386/avx512fp16-trunchf.c on Solaris [PR102835] X-Git-Tag: basepoints/gcc-13~3601 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=2243f6cf4d18f8793eb3e77c444a191763509285;p=thirdparty%2Fgcc.git testsuite: i386: Fix gcc.target/i386/avx512fp16-trunchf.c on Solaris [PR102835] The gcc.target/i386/avx512fp16-trunchf.c test FAILs on 32-bit Solaris/x86: FAIL: gcc.target/i386/avx512fp16-trunchf.c scan-assembler-times vcvttsh2si[ \\\\t]+[^{\\n]*(?:%xmm[0-9]|\\\\(%esp\\\\))+, %eax(?:\\n|[ \\\\t]+#) 3 FAIL: gcc.target/i386/avx512fp16-trunchf.c scan-assembler-times vcvttsh2usi[ \\\\t]+[^{\\n]*(?:%xmm[0-9]|\\\\(%esp\\\\))+, %eax(?:\\n|[ \\\\t]+#) 2 This happens because Solaris defaults to -fno-omit-frame-pointer, so it uses %ebp instead of the expected %esp. As Hongyu Wang suggested in the PR, this can be fixed by accepting both forms, which this patch does. Tested on i386-pc-solaris2.11 and x86_64-pc-linux-gnu. 2021-10-20 Rainer Orth gcc/testsuite: PR testsuite/102835 * gcc.target/i386/avx512fp16-trunchf.c: Allow for %esp instead of %ebp. --- diff --git a/gcc/testsuite/gcc.target/i386/avx512fp16-trunchf.c b/gcc/testsuite/gcc.target/i386/avx512fp16-trunchf.c index 2c025b7803c4..337a7b0d4b01 100644 --- a/gcc/testsuite/gcc.target/i386/avx512fp16-trunchf.c +++ b/gcc/testsuite/gcc.target/i386/avx512fp16-trunchf.c @@ -1,7 +1,7 @@ /* { dg-do compile } */ /* { dg-options "-O2 -mavx512fp16" } */ -/* { dg-final { scan-assembler-times "vcvttsh2si\[ \\t\]+\[^\{\n\]*(?:%xmm\[0-9\]|\\(%esp\\))+, %eax(?:\n|\[ \\t\]+#)" 3 } } */ -/* { dg-final { scan-assembler-times "vcvttsh2usi\[ \\t\]+\[^\{\n\]*(?:%xmm\[0-9\]|\\(%esp\\))+, %eax(?:\n|\[ \\t\]+#)" 2 } } */ +/* { dg-final { scan-assembler-times "vcvttsh2si\[ \\t\]+\[^\{\n\]*(?:%xmm\[0-9\]|\\(%e\[bs\]p\\))+, %eax(?:\n|\[ \\t\]+#)" 3 } } */ +/* { dg-final { scan-assembler-times "vcvttsh2usi\[ \\t\]+\[^\{\n\]*(?:%xmm\[0-9\]|\\(%e\[bs\]p\\))+, %eax(?:\n|\[ \\t\]+#)" 2 } } */ /* { dg-final { scan-assembler-times "vcvttsh2si\[ \\t\]+\[^\{\n\]*%xmm\[0-9\]+, %rax(?:\n|\[ \\t\]+#)" 1 { target { ! ia32 } } } } */ /* { dg-final { scan-assembler-times "vcvttsh2usi\[ \\t\]+\[^\{\n\]*%xmm\[0-9\]+, %rax(?:\n|\[ \\t\]+#)" 1 { target { ! ia32 } } } } */ /* { dg-final { scan-assembler "xorl\[ \\t\]+%edx, %edx" { target ia32 } } } */