From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 48) id 1A9653858408; Tue, 27 Feb 2024 22:20:21 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 1A9653858408 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gcc.gnu.org; s=default; t=1709072421; bh=6zR/sCyiIL53/pojJEUuw1+FiaCFVKHLbINUd/j+dHo=; h=From:To:Subject:Date:In-Reply-To:References:From; b=j527qf8rsZKJL9rnkKXdqJdmh3WcA+eg97alJDGAvYcSmxlX6Y5vyttZi5y10/rOE /BojX7k1MO1lp9ShW77RWDU6JdQDxl6svoQLFhf713FvQIu/+h0xQ7cG17nLaIvx9H 6oO85EeY/i+HKjtle/EhUEpzs9w96iVt3RcJyz9Y= From: "jsm28 at gcc dot gnu.org" To: gcc-bugs@gcc.gnu.org Subject: [Bug libquadmath/114140] quadmath fminq/fmaxq with signaling_NaN not work Date: Tue, 27 Feb 2024 22:20:20 +0000 X-Bugzilla-Reason: CC X-Bugzilla-Type: changed X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: gcc X-Bugzilla-Component: libquadmath X-Bugzilla-Version: unknown X-Bugzilla-Keywords: X-Bugzilla-Severity: normal X-Bugzilla-Who: jsm28 at gcc dot gnu.org X-Bugzilla-Status: UNCONFIRMED X-Bugzilla-Resolution: X-Bugzilla-Priority: P3 X-Bugzilla-Assigned-To: unassigned at gcc dot gnu.org X-Bugzilla-Target-Milestone: --- X-Bugzilla-Flags: X-Bugzilla-Changed-Fields: Message-ID: In-Reply-To: References: Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Bugzilla-URL: http://gcc.gnu.org/bugzilla/ Auto-Submitted: auto-generated MIME-Version: 1.0 List-Id: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=3D114140 --- Comment #2 from Joseph S. Myers --- Returning a quiet NaN when either argument is a signaling NaN is correct at least for C (fmin/fmax correspond to IEEE 754-2008 operations, *not* the new IEEE 754-2019 operations which are fminimum/fmaximum/fminimum_num/fmaximum_num). This is not a self-contained bug report ("not work" doesn't say what was expected or why). But the output reported from the godbolt link is std::float128_t inf inf inf inf __float128 inf inf nan nan which looks correct for __float128 and incorrect for float128_t (suggesting that, in the float128_t case, something might have wrongly converted the signaling NaN to a quiet NaN before calling the underlying function).=