This is the mail archive of the glibc-bugs@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug math/18569] [x86/x86_64] expm1l wrong sign of underflowing zero results


https://sourceware.org/bugzilla/show_bug.cgi?id=18569

--- Comment #1 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  cb0937b299182e78307795081489ec1f148bdbd7 (commit)
      from  fea1d8d67363c8b675a4c2533769ae12dc86efff (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=cb0937b299182e78307795081489ec1f148bdbd7

commit cb0937b299182e78307795081489ec1f148bdbd7
Author: Joseph Myers <joseph@codesourcery.com>
Date:   Sun Jun 21 18:43:10 2015 +0000

    Fix x86_64 / x86 expm1l (-min_subnorm) result sign (bug 18569).

    In the x86 / x86_64 implementations of expm1l, when expm1l's result
    should underflow to 0 (argument minus the least subnormal, in some
    rounding modes), it can be a zero of the wrong sign.  This patch fixes
    this by returning the argument with underflow forced in that case
    (this is a 1ulp error relative to the correctly rounded result of -0,
    which is OK in terms of the documented accuracy goals, whereas a
    result with the wrong sign never is).

    Tested for x86_64 and x86.

        [BZ #18569]
        * sysdeps/i386/fpu/e_expl.S (IEEE754_EXPL) [USE_AS_EXPM1L]: Force
        underflow and return argument in case of subnormal argument.
        * sysdeps/x86_64/fpu/e_expl.S (IEEE754_EXPL) [USE_AS_EXPM1L]:
        Likewise.
        * math/auto-libm-test-in: Add more tests of expm1.
        * math/auto-libm-test-out: Regenerated.

-----------------------------------------------------------------------

Summary of changes:
 ChangeLog                   |    8 +
 NEWS                        |    2 +-
 math/auto-libm-test-in      |    4 +
 math/auto-libm-test-out     |  316 +++++++++++++++++++++++++++++++++++++++++++
 sysdeps/i386/fpu/e_expl.S   |    6 +
 sysdeps/x86_64/fpu/e_expl.S |    6 +
 6 files changed, 341 insertions(+), 1 deletions(-)

-- 
You are receiving this mail because:
You are on the CC list for the bug.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]