From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from troutmask.apl.washington.edu (troutmask.apl.washington.edu [128.95.76.21]) by sourceware.org (Postfix) with ESMTPS id C2D1F385C421 for ; Tue, 25 Jan 2022 20:12:26 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org C2D1F385C421 Received: from troutmask.apl.washington.edu (localhost [127.0.0.1]) by troutmask.apl.washington.edu (8.16.1/8.16.1) with ESMTPS id 20PKCPPw069992 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384 bits=256 verify=NO); Tue, 25 Jan 2022 12:12:25 -0800 (PST) (envelope-from sgk@troutmask.apl.washington.edu) Received: (from sgk@localhost) by troutmask.apl.washington.edu (8.16.1/8.16.1/Submit) id 20PKCPLn069991; Tue, 25 Jan 2022 12:12:25 -0800 (PST) (envelope-from sgk) Date: Tue, 25 Jan 2022 12:12:25 -0800 From: Steve Kargl To: FX Cc: fortran@gcc.gnu.org Subject: Re: New signaling NaN causes 12 testsuite failures Message-ID: <20220125201225.GC69322@troutmask.apl.washington.edu> References: <20220125004453.GA16729@troutmask.apl.washington.edu> <1DA16214-53F0-4B2E-AB56-503AAD59B266@gmail.com> <20220125193526.GA69322@troutmask.apl.washington.edu> <154020AE-C99E-400F-B86C-A8AF4720F16F@gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <154020AE-C99E-400F-B86C-A8AF4720F16F@gmail.com> X-Spam-Status: No, score=-1.8 required=5.0 tests=BAYES_00, KAM_DMARC_STATUS, KAM_LAZY_DOMAIN_SECURITY, SPF_HELO_NONE, SPF_NONE, TXREP autolearn=no autolearn_force=no version=3.4.4 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on server2.sourceware.org X-BeenThere: fortran@gcc.gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Fortran mailing list List-Unsubscribe: , List-Archive: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 25 Jan 2022 20:12:28 -0000 On Tue, Jan 25, 2022 at 08:52:34PM +0100, FX wrote: > > With --disable-multilib, so no -m32 support, I still > > signaling_3.f90 failing. In > > > > ! { dg-do run { xfail { { i?86-*-* x86_64-*-* } && ilp32 } } } > > ! x87 / x86-32 ABI is unsuitable for signaling NaNs > > This just means the test shouldn’t be run on 32-bit Intel. > > Can you run this: > > #include > #include > #include "issignaling_fallback.h" > > int main (void) { > long double z; > > z = __builtin_nansl(""); > printf("%d\n", issignaling(z)); > > z = __builtin_nanl(""); > printf("%d\n", issignaling(z)); > } > > compiled with -fsignaling-nans and the issignaling_fallback.h file from libgfortran? > % ~/work/x/bin/gcc -o -I. -fsignaling-nans -o z b.c && ./z 0 0 Quickly read issignaling_fallback.h. It seems you're looking for bit that distinguishes snan and qnan. Still need to piece together exactly what the bit manipulation functions are doing. -- Steve