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 soft-fp/17932] _FP_FMA fails to set exponent for 0 + normal


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

--- 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  1c7a4a51a30dd001c81630156458ee55fc2e883c (commit)
      from  61f006c12d8ff3a80a95a36fed81c908a2e39650 (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=1c7a4a51a30dd001c81630156458ee55fc2e883c

commit 1c7a4a51a30dd001c81630156458ee55fc2e883c
Author: Joseph Myers <joseph@codesourcery.com>
Date:   Fri Feb 6 15:44:07 2015 +0000

    soft-fp: Fix _FP_FMA when product is zero and third argument is finite (bug
17932).

    soft-fp's _FP_FMA fails to set the result's exponent for cases where
    the result of the multiplication is 0, yielding incorrect (arbitrary,
    depending on uninitialized values) results for those cases.  This
    affects libm for architectures using soft-fp to implement fma.  This
    patch adds the exponent setting and tests for this case.

    Tested for ARM soft-float (which uses soft-fp fma), x86_64 and x86 (to
    verify not introducing new libm test failures there).

    (This bug showed up in testing my patch to move the Linux kernel to
    current soft-fp.  math/Makefile has "override CFLAGS +=
    -Wno-uninitialized" which would have stopped compiler warnings from
    showing up this problem, although I wouldn't be surprised if removing
    that shows spurious warnings from this code, if the compiler fails to
    follow that various cases where the exponent is uninitialized don't
    need it initialized because the class is set to a value meaning the
    uninitialized exponent isn't used.)

        [BZ #17932]
        * soft-fp/op-common.h (_FP_FMA): Set exponent of result in case
        where multiplication results in zero and third argument is finite
        and nonzero.
        * math/auto-libm-test-in: Add more tests of fma.
        * math/auto-libm-test-out: Regenerated.

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

Summary of changes:
 ChangeLog               |    7 +
 NEWS                    |    6 +
 math/auto-libm-test-in  |   10 ++
 math/auto-libm-test-out |  357 +++++++++++++++++++++++++++++++++++++++++++++++
 soft-fp/op-common.h     |    1 +
 5 files changed, 381 insertions(+), 0 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]