From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 1363) id 3F133385AC37; Thu, 27 Jan 2022 21:15:14 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 3F133385AC37 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Content-Type: text/plain; charset="utf-8" From: Uros Bizjak To: gcc-cvs@gcc.gnu.org Subject: [gcc r12-6903] testsuite: Fix gfortran.dg/ieee/signaling_?.f90 tests for x86 targets X-Act-Checkin: gcc X-Git-Author: Uros Bizjak X-Git-Refname: refs/heads/master X-Git-Oldrev: b51fb28ed294cdf19087ca9d9ad107c9c52bec42 X-Git-Newrev: ae1b50e2e03aad06408b64c876f5d0511121de0d Message-Id: <20220127211514.3F133385AC37@sourceware.org> Date: Thu, 27 Jan 2022 21:15:14 +0000 (GMT) X-BeenThere: gcc-cvs@gcc.gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Gcc-cvs mailing list List-Unsubscribe: , List-Archive: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 27 Jan 2022 21:15:14 -0000 https://gcc.gnu.org/g:ae1b50e2e03aad06408b64c876f5d0511121de0d commit r12-6903-gae1b50e2e03aad06408b64c876f5d0511121de0d Author: Uros Bizjak Date: Thu Jan 27 22:14:18 2022 +0100 testsuite: Fix gfortran.dg/ieee/signaling_?.f90 tests for x86 targets As stated in signaling_?.f90 tests, x86-32 ABI is not suitable to correctly handle signaling NaNs. However, XFAIL is not the correct choice to disable these tests, since various optimizations can generate code that avoids moves from registers to memory (and back), resulting in the code that executes correctly, producing spurious XFAIL. These tests should be disabled on x86-32 using { ! ia32 } dg-directive which rules out x32 ilp32 ABI, where tests execute without problems. Please note that check_effective_target_ia32 test tries to compile code that uses __i386__ target-dependent preprocessor definition, so it is guaranteed to fail on all non-ia32 targets. 2022-01-27 Uroš Bizjak gcc/testsuite/ChangeLog: * gfortran.dg/ieee/signaling_1.f90 (dg-do): Run only on non-ia32 targets. * gfortran.dg/ieee/signaling_2.f90 (dg-do): Ditto. * gfortran.dg/ieee/signaling_3.f90 (dg-do): Ditto. Diff: --- gcc/testsuite/gfortran.dg/ieee/signaling_1.f90 | 2 +- gcc/testsuite/gfortran.dg/ieee/signaling_2.f90 | 2 +- gcc/testsuite/gfortran.dg/ieee/signaling_3.f90 | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/gcc/testsuite/gfortran.dg/ieee/signaling_1.f90 b/gcc/testsuite/gfortran.dg/ieee/signaling_1.f90 index 2b156811c1e..19fee283f54 100644 --- a/gcc/testsuite/gfortran.dg/ieee/signaling_1.f90 +++ b/gcc/testsuite/gfortran.dg/ieee/signaling_1.f90 @@ -1,4 +1,4 @@ -! { dg-do run { xfail { { i?86-*-* x86_64-*-* } && ilp32 } } } +! { dg-do run { target { ! ia32 } } } ! x87 / x86-32 ABI is unsuitable for signaling NaNs ! ! { dg-additional-sources signaling_1_c.c } diff --git a/gcc/testsuite/gfortran.dg/ieee/signaling_2.f90 b/gcc/testsuite/gfortran.dg/ieee/signaling_2.f90 index ee3805272a0..03b04c783eb 100644 --- a/gcc/testsuite/gfortran.dg/ieee/signaling_2.f90 +++ b/gcc/testsuite/gfortran.dg/ieee/signaling_2.f90 @@ -1,4 +1,4 @@ -! { dg-do run { xfail { { i?86-*-* x86_64-*-* } && ilp32 } } } +! { dg-do run { target { ! ia32 } } } ! x87 / x86-32 ABI is unsuitable for signaling NaNs ! ! { dg-require-effective-target issignaling } */ diff --git a/gcc/testsuite/gfortran.dg/ieee/signaling_3.f90 b/gcc/testsuite/gfortran.dg/ieee/signaling_3.f90 index 22b36980896..ff2585d2589 100644 --- a/gcc/testsuite/gfortran.dg/ieee/signaling_3.f90 +++ b/gcc/testsuite/gfortran.dg/ieee/signaling_3.f90 @@ -1,4 +1,4 @@ -! { dg-do run { xfail { { i?86-*-* x86_64-*-* } && ilp32 } } } +! { dg-do run { target { ! ia32 } } } ! x87 / x86-32 ABI is unsuitable for signaling NaNs ! program test