This is the mail archive of the
glibc-bugs@sourceware.org
mailing list for the glibc project.
[Bug math/20947] fmax, fmin sNaN handling
- From: "cvs-commit at gcc dot gnu.org" <sourceware-bugzilla at sourceware dot org>
- To: glibc-bugs at sourceware dot org
- Date: Thu, 15 Dec 2016 00:44:14 +0000
- Subject: [Bug math/20947] fmax, fmin sNaN handling
- Auto-submitted: auto-generated
- References: <bug-20947-131@http.sourceware.org/bugzilla/>
https://sourceware.org/bugzilla/show_bug.cgi?id=20947
--- Comment #2 from cvs-commit at gcc dot gnu.org <cvs-commit at gcc dot gnu.org> ---
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "GNU C Library master sources".
The branch, master has been updated
via 9ce4ac64b234c976ae56061afd5774896c5513c9 (commit)
from f02bb0004c5b1944333fd8e74ac1efda3074084b (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=9ce4ac64b234c976ae56061afd5774896c5513c9
commit 9ce4ac64b234c976ae56061afd5774896c5513c9
Author: Joseph Myers <joseph@codesourcery.com>
Date: Thu Dec 15 00:43:16 2016 +0000
Fix powerpc fmax, fmin sNaN handling (bug 20947).
Various fmax and fmin function implementations mishandle sNaN
arguments:
(a) When both arguments are NaNs, the return value should be a qNaN,
but sometimes it is an sNaN if at least one argument is an sNaN.
(b) Under TS 18661-1 semantics, if either argument is an sNaN then the
result should be a qNaN (whereas if one argument is a qNaN and the
other is not a NaN, the result should be the non-NaN argument).
Various implementations treat sNaNs like qNaNs here.
This patch fixes the powerpc versions of these functions (shared by
float and double, 32-bit and 64-bit). The structure of those versions
is that all ordered cases are already handled before anything dealing
with the case where the arguments are unordered; thus, this patch
causes no change to the code executed in the common case (neither
argument a NaN).
Tested for powerpc (32-bit and 64-bit), together with tests to be
added along with the x86_64 / x86 fixes.
[BZ #20947]
* sysdeps/powerpc/fpu/s_fmax.S (__fmax): Add the arguments when
either is a signaling NaN.
* sysdeps/powerpc/fpu/s_fmin.S (__fmin): Likewise.
-----------------------------------------------------------------------
Summary of changes:
ChangeLog | 7 +++++++
sysdeps/powerpc/fpu/s_fmax.S | 37 ++++++++++++++++++++++++++++++++++++-
sysdeps/powerpc/fpu/s_fmin.S | 37 ++++++++++++++++++++++++++++++++++++-
3 files changed, 79 insertions(+), 2 deletions(-)
--
You are receiving this mail because:
You are on the CC list for the bug.