From patchwork Thu Jan 27 19:46:56 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Uros Bizjak X-Patchwork-Id: 50496 Return-Path: X-Original-To: patchwork@sourceware.org Delivered-To: patchwork@sourceware.org Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 358EA394741A for ; Thu, 27 Jan 2022 19:47:37 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 358EA394741A DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gcc.gnu.org; s=default; t=1643312857; bh=8d4RuXV7v/gq675RRbpigUw6c+22qAqjztlpoAQL+tY=; h=Date:Subject:To:List-Id:List-Unsubscribe:List-Archive:List-Post: List-Help:List-Subscribe:From:Reply-To:Cc:From; b=XHaOVOsTON+K/i9jAoxsuedWh2gprc1RRH+8Ac1HlH0Fyc9uShcrAMw4oUi2+6hbK YsfHyoFA1/sJqgwNw4BnHfAzbuS4KNCTmgams2it2I9nLzrddjyt2gtuIUKaztpAhF VXXfc+5L9ITi6neHVCQmiXRvDYo2+TLUhDv0A62k= X-Original-To: gcc-patches@gcc.gnu.org Delivered-To: gcc-patches@gcc.gnu.org Received: from mail-qv1-xf33.google.com (mail-qv1-xf33.google.com [IPv6:2607:f8b0:4864:20::f33]) by sourceware.org (Postfix) with ESMTPS id 1BF423858430; Thu, 27 Jan 2022 19:47:08 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 1BF423858430 Received: by mail-qv1-xf33.google.com with SMTP id t7so3868391qvj.0; Thu, 27 Jan 2022 11:47:08 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:mime-version:from:date:message-id:subject:to:cc; bh=8d4RuXV7v/gq675RRbpigUw6c+22qAqjztlpoAQL+tY=; b=EiSGItkfhdzIAwE/v8/Gh+pcTX9QYTiuFBsnChzQ4DvgACRlDLQhsJREiFO0PHZdYg RZXZYb7nYxaA5TyBTNRcZb7Ir5nyIoGoOJZlhTGdNrm/Q+Oj7CtAim6mYVuIocfwzdgl x9t6JlaBCIwa3nC23FmQGYSic2+ElNkKG1k+iVpDnAaa0b2rkAo1SqaUCnntgwHLyZQD ePyiPTL9HjsTHK1TfbMSE2Jz+o8Hd9QhIbkkt9t0zSKHveXu2NuViPH+s35c2K0b0EGj DfbrztEbrGJEfqmmwiVeAb4wqLc9PaLMEDKffYVJEgKCDR0k8r0rPaXKPCN30RztgAvA PylQ== X-Gm-Message-State: AOAM530A5cFbN9WLYr4oUYpAWSO4TnmQKQuOHN/QWNvBNWnmA0FWYMEF 6Slu3dS4K+9T5PBrGAnDpl2iAYgTUIJt8twR2RN78n5VEOL2Ww== X-Google-Smtp-Source: ABdhPJwtsouW5olmKkLopvHE1vkjfucMLl5N7sopVIp8e4GKI4OApjwZKE5tSwQgoSUd9I9QVgzA0q4WDLPw4AX8Ncc= X-Received: by 2002:a05:6214:1d2e:: with SMTP id f14mr4963893qvd.2.1643312827258; Thu, 27 Jan 2022 11:47:07 -0800 (PST) MIME-Version: 1.0 Date: Thu, 27 Jan 2022 20:46:56 +0100 Message-ID: Subject: [PATCH] testsuite: Fix gfortran.dg/ieee/signaling_?.f90 tests for x86 targets To: "gcc-patches@gcc.gnu.org" X-Spam-Status: No, score=-9.5 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, FREEMAIL_FROM, GIT_PATCH_0, RCVD_IN_DNSWL_NONE, SPF_HELO_NONE, SPF_PASS, TXREP autolearn=ham autolearn_force=no version=3.4.4 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on server2.sourceware.org X-BeenThere: gcc-patches@gcc.gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Gcc-patches mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-Patchwork-Original-From: Uros Bizjak via Gcc-patches From: Uros Bizjak Reply-To: Uros Bizjak Cc: FX , Fortran List Errors-To: gcc-patches-bounces+patchwork=sourceware.org@gcc.gnu.org Sender: "Gcc-patches" 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. Tested on x86_64-linux-gnu {,-m32}. OK for master? Uros. 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