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/21171] log10, log2 and lgamma return incorrect results


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

--- Comment #3 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, tuliom/float128 has been created
        at  d6a9d708353f1dac9789345217d4061c1bc1c046 (commit)

- Log -----------------------------------------------------------------
https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=d6a9d708353f1dac9789345217d4061c1bc1c046

commit d6a9d708353f1dac9789345217d4061c1bc1c046
Author: Paul E. Murphy <murphyp@linux.vnet.ibm.com>
Date:   Tue Aug 9 16:48:54 2016 -0500

    powerpc64le: Enable float128

    Add ulps for the float128 type, bits/floatn.h, and float128-abi.h.

    Likewise, sqrt is not implemented in libgcc.  The sfp-machine.h
    header is taken from libgcc, and used to build a P7/P8 soft-fp
    sqrtf128.

    TODO: ldouble seems to have gotten worse. Did I break something?

        * sysdeps/powerpc/fpu/libm-test-ulps: Regenerated.
        * sysdeps/powerpc/fpu/math_private.h:
        (__ieee754_sqrtf128): New inline override.
        * sysdeps/powerpc/powerpc64le/Implies-before: New file.
        * sysdeps/powerpc/powerpc64le/Makefile: New file.
        * sysdeps/powerpc/powerpc64le/bits/floatn.h: New file.
        * sysdeps/powerpc/powerpc64le/fpu/e_sqrtf128.c: New file.
        * sysdeps/powerpc/powerpc64le/fpu/sfp-machine.h: New file.
        * sysdeps/powerpc/powerpc64le/power9/fpu/e_sqrtf128.c: New file.

        * sysdeps/unix/sysv/linux/powerpc/powerpc64/libc-le.abilist:
        Regenerated.
        * sysdeps/unix/sysv/linux/powerpc/powerpc64/libm-le.abilist:
        Likewise.

        * sysdeps/unix/sysv/linux/powerpc/powerpc64le/float128-abi.h
        New file.

https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=9f1e9ef8bcb43d07f79ee0a99ffa622f43b327f6

commit 9f1e9ef8bcb43d07f79ee0a99ffa622f43b327f6
Author: Gabriel F. T. Gomes <gftg@linux.vnet.ibm.com>
Date:   Tue Oct 11 13:50:19 2016 -0300

    powerpc64le: Require gcc >= 6.2 for powerpc64le

    On powerpc64le, support for __float128 will start to be built by default,
    which requires gcc versions greater than or equal to 6.2.

    Tested for ppc64 (still works with older compilers) and ppc64le.

    2016-10-11  Gabriel F. T. Gomes  <gftg@linux.vnet.ibm.com>

        * sysdeps/powerpc/powerpc64le/configure.ac: New file with test for
        the required minimum gcc version.
        * sysdeps/powerpc/powerpc64le/configure: New, auto-generated file.

https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=727136b336e2b328c5b755b93d6e22b61959f75b

commit 727136b336e2b328c5b755b93d6e22b61959f75b
Author: Paul E. Murphy <murphyp@linux.vnet.ibm.com>
Date:   Fri Jul 15 18:04:40 2016 -0500

    powerpc64le: Create divergent sysdep directory for ppc64le.

    float128 requires the seemingly trivial addition of the
    ieee754/float128 sysdep.  This requires creating a bunch
    of submachine and cpu directories and Implies files which
    just point  towards their powerpc64 equivalent.

    Tested on P7, P8, and generic ppc64le targets with and
    without multiarch.

        * sysdeps/powerpc/powerpc64le/Implies: New file.
        * sysdeps/powerpc/powerpc64le/fpu/Implies: New file.
        * sysdeps/powerpc/powerpc64le/fpu/multiarch/Implies: New file.
        * sysdeps/powerpc/powerpc64le/multiarch/Implies: New file.
        * sysdeps/powerpc/powerpc64le/power7/Implies: New file.
        * sysdeps/powerpc/powerpc64le/power7/fpu/Implies: New file.
        * sysdeps/powerpc/powerpc64le/power7/fpu/multiarch/Implies: New file.
        * sysdeps/powerpc/powerpc64le/power7/multiarch/Implies: New file.
        * sysdeps/powerpc/powerpc64le/power8/Implies: New file.
        * sysdeps/powerpc/powerpc64le/power8/fpu/Implies: New file.
        * sysdeps/powerpc/powerpc64le/power8/fpu/multiarch/Implies: New file.
        * sysdeps/powerpc/powerpc64le/power8/multiarch/Implies: New file.
        * sysdeps/powerpc/powerpc64le/power9/Implies: New file.
        * sysdeps/powerpc/powerpc64le/power9/fpu/Implies: New file.
        * sysdeps/powerpc/powerpc64le/power9/fpu/multiarch/Implies: New file.
        * sysdeps/powerpc/powerpc64le/power9/multiarch/Implies: New file.
        * sysdeps/powerpc/preconfigure: New file.
        * sysdeps/unix/sysv/linux/powerpc/powerpc64le/Implies: New file.
        * sysdeps/unix/sysv/linux/powerpc/powerpc64le/fpu/Implies: New file.

https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=6c962d620e8fa0f17711ffe06a9258c306c3b70b

commit 6c962d620e8fa0f17711ffe06a9258c306c3b70b
Author: Tulio Magno Quites Machado Filho <tuliom@linux.vnet.ibm.com>
Date:   Tue Jan 17 15:10:08 2017 -0200

    float128: Add fromfpf128 functions

    2017-01-26  Tulio Magno Quites Machado Filho  <tuliom@linux.vnet.ibm.com>

        * sysdeps/ieee754/float128/Versions: Add fromfpf128,
        fromfpxf128, ufromfpf128, and ufromfpxf128.
        * sysdeps/ieee754/float128/float128_private.h: Define fromfpf128,
        fromfpxf128, ufromfpf128, and ufromfpxf128.
        * sysdeps/ieee754/float128/s_fromfpf128.c: New file.
        * sysdeps/ieee754/float128/s_ufromfpf128.c: Likewise.
        * sysdeps/ieee754/float128/s_fromfpxf128.c: Likewise.
        * sysdeps/ieee754/float128/s_ufromfpxf128.c: Likewise.

https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=311cb54cb858a1d32d3f710fb38c004cf70ae23d

commit 311cb54cb858a1d32d3f710fb38c004cf70ae23d
Author: Tulio Magno Quites Machado Filho <tuliom@linux.vnet.ibm.com>
Date:   Mon Dec 26 10:54:55 2016 -0200

    float128: Add fmaxmagf128, fminmagf128 and roundevenf128

    2017-01-26  Tulio Magno Quites Machado Filho  <tuliom@linux.vnet.ibm.com>

        * sysdeps/ieee754/float128/float128_private.h: Add roundevenl as
        roundevenf128.
        * sysdeps/ieee754/float128/s_roundevenf128.c: New file.
        * sysdeps/ieee754/float128/Versions: Add fmaxmagf128,
        fminmagf128 and roundevenf128.

https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=700b51be825c7bc9e0e13c6dd56951ed37f27f98

commit 700b51be825c7bc9e0e13c6dd56951ed37f27f98
Author: Gabriel F. T. Gomes <gftg@linux.vnet.ibm.com>
Date:   Fri Dec 2 11:59:35 2016 -0200

    float128: Add llogbf128

https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=4e3dcc413dc7a017d8ccb2621d364d75a75895d7

commit 4e3dcc413dc7a017d8ccb2621d364d75a75895d7
Author: Gabriel F. T. Gomes <gftg@linux.vnet.ibm.com>
Date:   Fri Dec 2 11:21:57 2016 -0200

    float128: Add setpayloadsigf128

https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=9b47ed2587a829f9bf33fae36f9a4b69d040076f

commit 9b47ed2587a829f9bf33fae36f9a4b69d040076f
Author: Gabriel F. T. Gomes <gftg@linux.vnet.ibm.com>
Date:   Fri Dec 2 11:17:22 2016 -0200

    float128: Add setpayloadf128

https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=cc133297c4c8a7dea5a100e6c6b810cd318826c6

commit cc133297c4c8a7dea5a100e6c6b810cd318826c6
Author: Gabriel F. T. Gomes <gftg@linux.vnet.ibm.com>
Date:   Tue Nov 29 09:41:49 2016 -0200

    float128: Add iscanonicalf128

https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=6d7c08123cc69c39798dec4af68b9e3955247972

commit 6d7c08123cc69c39798dec4af68b9e3955247972
Author: Gabriel F. T. Gomes <gftg@linux.vnet.ibm.com>
Date:   Thu Nov 24 10:31:02 2016 -0200

    float128: Add canonicalizef128

https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=d6367295eb891f0f1522ab2401a0cf88c11dc065

commit d6367295eb891f0f1522ab2401a0cf88c11dc065
Author: Gabriel F. T. Gomes <gftg@linux.vnet.ibm.com>
Date:   Thu Nov 24 10:29:26 2016 -0200

    float128: Add getpayloadf128

https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=da3db47579d451aa27bdef2136a67153093ccade

commit da3db47579d451aa27bdef2136a67153093ccade
Author: Gabriel F. T. Gomes <gftg@linux.vnet.ibm.com>
Date:   Thu Nov 24 10:27:55 2016 -0200

    float128: Add totalorderf128 and totalordermagf128

https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=0e210e822faf35f5dde6a2b150c31270041fe98c

commit 0e210e822faf35f5dde6a2b150c31270041fe98c
Author: Gabriel F. T. Gomes <gftg@linux.vnet.ibm.com>
Date:   Thu Nov 24 10:26:26 2016 -0200

    float128: Add SNANF128 macro

https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=be4ba7b3c65a73dcc2c9cb063843681de1a27379

commit be4ba7b3c65a73dcc2c9cb063843681de1a27379
Author: Paul E. Murphy <murphyp@linux.vnet.ibm.com>
Date:   Wed Sep 7 10:55:28 2016 -0500

    float128: Add exp2f128.

    There is a common version used for long double.  This
    is a copy renamed for _Float128.

        * sysdeps/ieee754/float128/e_exp2f128.c: New file.

https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=76d3aeadf7573cb3d197fdba103bf000d7747088

commit 76d3aeadf7573cb3d197fdba103bf000d7747088
Author: Paul E. Murphy <murphyp@linux.vnet.ibm.com>
Date:   Fri Jul 15 14:29:51 2016 -0500

    float128: Add test-{float128,ifloat128,float128-finite}

    This adds test support for float128, and lays some
    groundwork for future _FloatN types.

        * math/Makefile
        (CFLAGS-test-float128.c): Add appropriate test flags.
        (CFLAGS-test-float128-finite.c): Likewise
        (CPPFLAGS-test-ifloat128.c): Likewise

        * math/test-support.h (CFLOAT): New macro to compensate for older
        compilers not supporting _Complex __float128.
        * math/libm-test-support.c (check_complex): Use CFLOAT instead
        of __complex__ FLOAT.

        * math/test-float128-finite.c: New file.
        * math/test-float128.c: New file.
        * math/test-float128.h: New file.
        * math/test-ifloat128.c: New file.
        * math/test-math-floatn.h: New file.

        * math/gen-libm-test.pl (all_floats): Add float128 variants.
        (all_floats_pfx): Add float128 mapping.

        * math/gen-libm-have-vector-test.sh: Add support for float128.

https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=4357092c606e01260d8f7c1ad9b8d66917488312

commit 4357092c606e01260d8f7c1ad9b8d66917488312
Author: Gabriel F. T. Gomes <gftg@linux.vnet.ibm.com>
Date:   Mon Nov 14 14:36:18 2016 -0200

    float128: Add strfromf128, strtof128, and wcstof128 to the manual

    2016-11-14  Gabriel F. T. Gomes  <gftg@linux.vnet.ibm.com>

        * manual/arith.texi: Add descriptions for strfromf128, strtof128,
        and wcstof128.

https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=496935ea5deb9e05f6d42e89529055cc47426932

commit 496935ea5deb9e05f6d42e89529055cc47426932
Author: Paul E. Murphy <murphyp@linux.vnet.ibm.com>
Date:   Mon Jul 25 13:10:00 2016 -0500

    float128: Add strtof128, wcstof128, and related functions.

    This is relatively straighfoward with the exception of
    needing to update the power of ten tables used by the
    common implementation when long double is not the most
    expressive real type.

    The implementations are contained with sysdeps/ieee754/float128 as
    they are only built when _Float128 is enabled within libc/m.
        * include/gmp.h (__mpn_construct_float128): New declaration.
        * include/stdlib.h (__strtof128_l): Likewise.
        (__strtof128_nan): Likewise.
        (__wcstof128_nan): Likewise.
        (__strtof128_internal): Likewise.
        (____strtof128_l_internal): Likewise.
        * include/wchar.h (__wcstof128_l): Likewise.
        (__wcstof128_internal): Likewise.

        * stdlib/Makefile (bug-strtod2): Link libm too.

        * stdlib/fpioconst.c (HAVE_EXTENDED_RANGE): New macro
        for testing how big the power of ten table should be.
        [TENS_P11_IDX]: Include if above is true.
        [TENS_P12_IDX]: Include if above is true.
        [TENS_P13_IDX]: Include if above is true.
        [TENS_P14_IDX]: Include if above is true.
        * stdlib/fpioconst.h (FPIOCONST_POW10_ARRAY_SIZE):
        Use larger table if _Float128 is supported.

        * stdlib/stdlib.h (strtof128): New declaration.
        (strtof128_l): Likewise.

        * stdlib/tst-strtod-nan-locale-main.c: Updated
        to use tst-strtod.h macros to ensure float128
        gets tested too.

        * stdlib/tst-strtod-round-skeleton.c (CHOOSE_f128):
        New macro.

        * stdlib/tst-strtod.h (_GEN_F128): New macro.
        (_GEN): Likewise.
        (_GENx): Likewise.
        (_DO): Likewise.
        (_DOx): Likewise.
        (GEN_TEST_STRTOD): Update to optionally include
        _Float128 in the tests.
        (STRTOD_TEST_FOREACH): Likewise.

        * sysdeps/ieee754/float128/Makefile: Insert
        new strtof128 and wcstof128 functions into
        libc.

        * sysdeps/ieee754/float128/Versions: Add
        exports for the above new functions.

        * sysdeps/ieee754/float128/mpn2float128.c: New file.
        * sysdeps/ieee754/float128/strtod_nan_float128.h:
        New file.
        * sysdeps/ieee754/float128/strtof128.c: New file.
        * sysdeps/ieee754/float128/strtof128_l.c: New file.
        * sysdeps/ieee754/float128/strtof128_nan.c: New file.
        * sysdeps/ieee754/float128/wcstof128.c: New file.
        * sysdeps/ieee754/float128/wcstof128_l.c: New file.
        * sysdeps/ieee754/float128/wcstof128_nan.c: New fike.
        * wcsmbs/Makefile: (CFLAGS-wcstof128.c): Append
        strtof-CFLAGS.
        (CFLAGS-wcstof128_l): Likewise.

        * wcsmbs/wchar.h (wcstof128): New declaration.
        (wcstof128_l): Likewise.

https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=3451dc9bc78039bfe94c16933ddb694f51c71051

commit 3451dc9bc78039bfe94c16933ddb694f51c71051
Author: Gabriel F. T. Gomes <gftg@linux.vnet.ibm.com>
Date:   Thu Nov 3 12:37:08 2016 -0200

    float128: Add strfromf128

    Add strfromf128 to stdlib when __float128 support is enabled.

    2016-11-07  Gabriel F. T. Gomes  <gftg@linux.vnet.ibm.com>

        * stdio-common/printf-parsemb.c (__parse_one_specmb): Initialize
        spec->info.is___float128 to zero.
        * stdio-common/printf.h (printf_info): Add new member is__float128
        to indicate that the number being converted to string, if any, is
        in the __float128 format.
        * stdio-common/printf_fp.c (__printf_fp_l): Add code to deal with
        __float128 numbers.
        * stdio-common/printf_fphex.c (__printf_fphex): Likewise.
        * stdio-common/printf_size.c (__printf_size): Likewise.
        * stdio-common/vfprintf.c (process_arg): Initialize member
        info.is___float128 to zero.
        * stdlib/fpioconst.h (FLT128_MAX_10_EXP_LOG): New definition.
        * stdlib/stdlib.h (strfromf128): New declaration.
        * stdlib/strfrom-skeleton.c (STRFROM): Set member info.is__float128
        to one.
        * sysdeps/ieee754/float128/Makefile: Add strfromf128.
        * sysdeps/ieee754/float128/Versions: Likewise.
        * sysdeps/ieee754/float128/strfromf128.c: New file.

https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=5677b3f3cc33e2febd2fdf925aa4d3f614b7ebce

commit 5677b3f3cc33e2febd2fdf925aa4d3f614b7ebce
Author: Gabriel F. T. Gomes <gftg@linux.vnet.ibm.com>
Date:   Thu Nov 3 12:36:50 2016 -0200

    float128: Add conversion from float128 to mpn

    Define __FLOAT128_OVERRIDE to 1 and include ldbl2mpn to reuse the
    implementation of ldbl-128 for float128.

    2016-11-03  Gabriel F. T. Gomes  <gftg@linux.vnet.ibm.com>

        * include/gmp.h (__mpn_extract_float128): New declaration.
        * sysdeps/ieee754/float128/float1282mpn.c: New file.
        * sysdeps/ieee754/float128/Makefile: Add rule to build float1282mpn.c.

https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=91a6b74ef5685eca56c1f8954f003e181cc18d69

commit 91a6b74ef5685eca56c1f8954f003e181cc18d69
Author: Gabriel F. T. Gomes <gftg@linux.vnet.ibm.com>
Date:   Thu Nov 3 12:26:52 2016 -0200

    ldbl-128: Refactor ldbl2mpn to allow use with float128

    Read __FLOAT128_OVERRIDE and generate __mpn_extract_float128 reusing
    existing code for __mpn_extract_long_double.

    2016-11-04  Gabriel F. T. Gomes  <gftg@linux.vnet.ibm.com>

        * sysdeps/ieee754/ldbl-128/ldbl2mpn.c (__mpn_extract_float128): New
        function, which is built when __FLOAT128_OVERRIDE is set to 1.

https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=1d135cbfb904f684e7d8860fd209d4eec733dab6

commit 1d135cbfb904f684e7d8860fd209d4eec733dab6
Author: Paul E. Murphy <murphyp@linux.vnet.ibm.com>
Date:   Fri Nov 4 09:57:27 2016 -0200

    float128: Extend the power of ten tables

    Update the power of ten tables used by the common implementation when long
    double is not the most expressive real type.

    2016-11-04  Paul E. Murphy  <murphyp@linux.vnet.ibm.com>

        * stdlib/fpioconst.c (HAVE_EXTENDED_RANGE): New macro
        for testing how big the power of ten table should be.
        [TENS_P11_IDX]: Include if above is true.
        [TENS_P12_IDX]: Include if above is true.
        [TENS_P13_IDX]: Include if above is true.
        [TENS_P14_IDX]: Include if above is true.
        * stdlib/fpioconst.h (FPIOCONST_POW10_ARRAY_SIZE):
        Use larger table if _Float128 is supported.

https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=cb740e9e96652e2369c2a89e26ce3de59c547a5d

commit cb740e9e96652e2369c2a89e26ce3de59c547a5d
Author: Paul E. Murphy <murphyp@linux.vnet.ibm.com>
Date:   Mon Aug 8 15:49:31 2016 -0500

    float128: Add wrappers to override ldbl-128 as float128.

    This change defines float128_private.h which contains
    macros used to override long double naming conventions
    when building a ldbl file.

        * sysdeps/ieee754/float128/e_acosf128.c: New file.
        * sysdeps/ieee754/float128/e_acoshf128.c: New file.
        * sysdeps/ieee754/float128/e_asinf128.c: New file.
        * sysdeps/ieee754/float128/e_atan2f128.c: New file.
        * sysdeps/ieee754/float128/e_atanhf128.c: New file.
        * sysdeps/ieee754/float128/e_coshf128.c: New file.
        * sysdeps/ieee754/float128/e_exp10f128.c: New file.
        * sysdeps/ieee754/float128/e_exp2f128.c: New file.
        * sysdeps/ieee754/float128/e_expf128.c: New file.
        * sysdeps/ieee754/float128/e_fmodf128.c: New file.
        * sysdeps/ieee754/float128/e_gammaf128_r.c: New file.
        * sysdeps/ieee754/float128/e_hypotf128.c: New file.
        * sysdeps/ieee754/float128/e_ilogbf128.c: New file.
        * sysdeps/ieee754/float128/e_j0f128.c: New file.
        * sysdeps/ieee754/float128/e_j1f128.c: New file.
        * sysdeps/ieee754/float128/e_jnf128.c: New file.
        * sysdeps/ieee754/float128/e_lgammaf128.c: New file.
        * sysdeps/ieee754/float128/e_lgammaf128_r.c: New file.
        * sysdeps/ieee754/float128/e_log10f128.c: New file.
        * sysdeps/ieee754/float128/e_log2f128.c: New file.
        * sysdeps/ieee754/float128/e_logf128.c: New file.
        * sysdeps/ieee754/float128/e_powf128.c: New file.
        * sysdeps/ieee754/float128/e_rem_pio2f128.c: New file.
        * sysdeps/ieee754/float128/e_remainderf128.c: New file.
        * sysdeps/ieee754/float128/e_scalbf128.c: New file.
        * sysdeps/ieee754/float128/e_sinhf128.c: New file.
        * sysdeps/ieee754/float128/e_sqrtf128.c: New file.
        * sysdeps/ieee754/float128/float128_private.h: New file.
        * sysdeps/ieee754/float128/gamma_productf128.c: New file.
        * sysdeps/ieee754/float128/ieee754_float128.h: New file.
        * sysdeps/ieee754/float128/k_cosf128.c: New file.
        * sysdeps/ieee754/float128/k_rem_pio2f128.c: New file.
        * sysdeps/ieee754/float128/k_sincosf128.c: New file.
        * sysdeps/ieee754/float128/k_sinf128.c: New file.
        * sysdeps/ieee754/float128/k_tanf128.c: New file.
        * sysdeps/ieee754/float128/lgamma_negf128.c: New file.
        * sysdeps/ieee754/float128/lgamma_productf128.c: New file.
        * sysdeps/ieee754/float128/s_asinhf128.c: New file.
        * sysdeps/ieee754/float128/s_atanf128.c: New file.
        * sysdeps/ieee754/float128/s_cbrtf128.c: New file.
        * sysdeps/ieee754/float128/s_ceilf128.c: New file.
        * sysdeps/ieee754/float128/s_copysignf128.c: New file.
        * sysdeps/ieee754/float128/s_cosf128.c: New file.
        * sysdeps/ieee754/float128/s_erff128.c: New file.
        * sysdeps/ieee754/float128/s_expm1f128.c: New file.
        * sysdeps/ieee754/float128/s_fabsf128.c: New file.
        * sysdeps/ieee754/float128/s_finitef128.c: New file.
        * sysdeps/ieee754/float128/s_floorf128.c: New file.
        * sysdeps/ieee754/float128/s_fmaf128.c: New file.
        * sysdeps/ieee754/float128/s_fpclassifyf128.c: New file.
        * sysdeps/ieee754/float128/s_frexpf128.c: New file.
        * sysdeps/ieee754/float128/s_isinff128.c: New file.
        * sysdeps/ieee754/float128/s_isnanf128.c: New file.
        * sysdeps/ieee754/float128/s_issignalingf128.c: New file.
        * sysdeps/ieee754/float128/s_llrintf128.c: New file.
        * sysdeps/ieee754/float128/s_llroundf128.c: New file.
        * sysdeps/ieee754/float128/s_log1pf128.c: New file.
        * sysdeps/ieee754/float128/s_logbf128.c: New file.
        * sysdeps/ieee754/float128/s_lrintf128.c: New file.
        * sysdeps/ieee754/float128/s_lroundf128.c: New file.
        * sysdeps/ieee754/float128/s_modff128.c: New file.
        * sysdeps/ieee754/float128/s_nearbyintf128.c: New file.
        * sysdeps/ieee754/float128/s_nextafterf128.c: New file.
        * sysdeps/ieee754/float128/s_nexttowardf128.c: New file.
        * sysdeps/ieee754/float128/s_nextupf128.c: New file.
        * sysdeps/ieee754/float128/s_remquof128.c: New file.
        * sysdeps/ieee754/float128/s_rintf128.c: New file.
        * sysdeps/ieee754/float128/s_roundf128.c: New file.
        * sysdeps/ieee754/float128/s_scalblnf128.c: New file.
        * sysdeps/ieee754/float128/s_scalbnf128.c: New file.
        * sysdeps/ieee754/float128/s_signbitf128.c: New file.
        * sysdeps/ieee754/float128/s_significandf128.c: New file.
        * sysdeps/ieee754/float128/s_sincosf128.c: New file.
        * sysdeps/ieee754/float128/s_sinf128.c: New file.
        * sysdeps/ieee754/float128/s_tanf128.c: New file.
        * sysdeps/ieee754/float128/s_tanhf128.c: New file.
        * sysdeps/ieee754/float128/s_truncf128.c: New file.
        * sysdeps/ieee754/float128/t_sincosf128.c: New file.
        * sysdeps/ieee754/float128/x2y2m1f128.c: New file.

https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=52bc6dcdc2d42e4ca098bd0e9b876bca7629faac

commit 52bc6dcdc2d42e4ca098bd0e9b876bca7629faac
Author: Gabriel F. T. Gomes <gftg@linux.vnet.ibm.com>
Date:   Wed Feb 1 17:54:25 2017 -0200

    float128: Enable use of IEEE wrapper templates

    The templates for the IEEE functions wrappers implement wrappers that
    do not rely on _LIB_VERSION / matherr / __kernel_standard
    functionality to set errno and fix the return value of the functions.
    The wrappers are ready to be used by all floating-point types, however
    they will first be used by float128, since the old wrappers for float,
    double, and long double need to be first deprecated and versioned.

    This commits defines __USE_WRAPPER_TEMPLATE to 1 for float128 files,
    so that the new wrapper templates are used for this type.

    2017-02-01  Gabriel F. T. Gomes  <gftg@linux.vnet.ibm.com>

        * sysdeps/generic/math-type-macros-float128.h
        (__USE_WRAPPER_TEMPLATE): Define to 1 to enable use of the
        wrapper templates.

https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=d2d1b8878eb0277940547fefcb2e06bb46ef9a14

commit d2d1b8878eb0277940547fefcb2e06bb46ef9a14
Author: Gabriel F. T. Gomes <gftg@linux.vnet.ibm.com>
Date:   Thu Nov 24 17:51:43 2016 -0200

    float128: Define __builtin_fabsf128 for GCC < 7.0

https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=b277636ffff5588934365dc7d494de35e026d61f

commit b277636ffff5588934365dc7d494de35e026d61f
Author: Paul E. Murphy <murphyp@linux.vnet.ibm.com>
Date:   Fri Jul 15 18:02:03 2016 -0500

    float128: Add private _Float128 declarations for libm.

    Add the necessary bits to the private headers to support
    building the _Float128 libm functions.

    A local override for float.h is provided to include the
    missing *FLT128 macros implied by TS 18661-3 for this
    type when compiling prior to GCC 7.

        * bits/libm-simd-decl-stubs.h (__DECL_SIMD_cosf128): New macro.
        (__DECL_SIMD_sinf128): Likewise.
        (__DECL_SIMD_sincosf128): Likewise.
        (__DECL_SIMD_logf128): Likewise.
        (__DECL_SIMD_expf128): Likewise.
        (__DECL_SIMD_powf128): Likewise.

        * include/complex.h (__kernel_casinhf128): New declaration.
        * include/float.h: New file.
        * include/math.h (__finitef128): Add a hidden def.
        (__isinff128): Likewise.
        (__isnanf128): Likewise.
        (__fpclassify): Likewise.
        (__issignalling): Likewise.
        (__expf128): Likewise.
        (__expm1f128): Likewise.

        * sysdeps/generic/fix-fp-int-convert-overflow.h:
        (FIX_FLT128_LONG_CONVERT_OVERFLOW): New macro.
        (FIX_FLT128_LLONG_CONVERT_OVERFLOW): Likewise.

        * sysdeps/generic/math-type-macros-float128.h: New file.

        * sysdeps/generic/math_private.h (__EXPR_FLT128): New macro.
        (fabs_tg): Optionally include _Float128 types too.
        (min_of_type): Likewise.

        * sysdeps/ieee754/ldbl-opt/s_sin.c:
        * (__DECL_SIMD_sincos_disablef128): New macro.

https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=2473db8c9c8b53bf53afecfdc39bf92ae74da35f

commit 2473db8c9c8b53bf53afecfdc39bf92ae74da35f
Author: Paul E. Murphy <murphyp@linux.vnet.ibm.com>
Date:   Tue Jul 19 15:06:52 2016 -0500

    float128: Expose _Float128 finite math functions.

    Similar to the other types, entry points to
    dodge wrapper call for non-finite arguments.

        * math/bits/math-finite.h:
        (__acosf128_finite): New function declaration.
        (__acoshf128_finite): Likewise.
        (__asinf128_finite): Likewise.
        (__atan2f128_finite): Likewise.
        (__atanhf128_finite): Likewise.
        (__coshf128_finite): Likewise.
        (__expf128_finite): Likewise.
        (__exp10f128_finite): Likewise.
        (__exp2f128_finite): Likewise.
        (__fmodf128_finite): Likewise.
        (__hypotf128_finite): Likewise.
        (__j0f128_finite): Likewise.
        (__y0f128_finite): Likewise.
        (__j1f128_finite): Likewise.
        (__y1f128_finite): Likewise.
        (__jnf128_finite): Likewise.
        (__ynf128_finite): Likewise.
        (__logf128_finite): Likewise.
        (__log10f128_finite): Likewise.
        (__log2f128_finite): Likewise.
        (__powf128_finite): Likewise.
        (__remainderf128_finite): Likewise.
        (__sinhf128_finite): Likewise.
        (__sqrtf128_finite): Likewise.
        (__gammaf128_r_finite): Likewise.
        (__lgammaf128_r_finite): Likewise.
        (lgammaf128): Inline override of the
        same name.
        (tgammaf128): Likewise.

https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=36f021b6e60116ac31c3fafd899394507b2bf5ca

commit 36f021b6e60116ac31c3fafd899394507b2bf5ca
Author: Gabriel F. T. Gomes <gftg@linux.vnet.ibm.com>
Date:   Fri Dec 9 11:41:55 2016 -0200

    float128: Extend __MATH_TG for float128 support

https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=bc156f1b2b69c4ee0262b3c3f753e1a0894c5f2c

commit bc156f1b2b69c4ee0262b3c3f753e1a0894c5f2c
Author: Gabriel F. T. Gomes <gftg@linux.vnet.ibm.com>
Date:   Tue Nov 29 09:42:26 2016 -0200

    float128: Protect signbit macro definition with __USE_FLOAT128

    2016-11-07  Gabriel F. T. Gomes  <gftg@linux.vnet.ibm.com>

        * math/math.h (signbit): Only use __builtin_signbit* if not
        building with support for __float128.

https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=221ec0427d772a5adf92dabfbbdaf27a6b225d7b

commit 221ec0427d772a5adf92dabfbbdaf27a6b225d7b
Author: Paul E. Murphy <murphyp@linux.vnet.ibm.com>
Date:   Wed Jul 20 11:53:36 2016 -0500

    float128: Add public _Float128 declarations to libm.

    This introduces the machine-dependent bits/floatn.h to control
    the inclusion of _Float128 ABI.

    This leverages the _Generic feature of C11 as __USE_FLOAT128
    must imply a test for __STDC_WANT_IEC_60559_TYPES_EXT__
    which requires C11 to prevent increasingly complex math
    macros for the sake of old (and unsupported?) GCC toolchains.

        * bits/floatn.h: New file.
        * bits/huge_val_flt128.h: New file.
        * math/Makefile (headers): Install bits/floatn.h

        * math/math.h: Define and undefine __FLOATN_TYPE as
        needed for _FloatN types. Add prototypes for _Float128
        if __USE_FLOAT128.

        [__GNUC_PREREQ(6,2)] (signbit): Define as type-generic macro.
        [__USE_FLOAT128] (fpclassify): Use _Generic macro selection when
        a non-GCC compiler is used.
        [__USE_FLOAT128] (signbit): Likewise.
        [__USE_FLOAT128] (isfinite): Likewise.
        [__USE_FLOAT128] (isnan): Likewise.
        [__USE_FLOAT128] (issignaling): Likewise.

        [__USE_FLOAT128] (isinf): This builtin is broken on GCC.
        Explicitly call __isinff128 for _Float128 types, otherwise
        use the builtin.

        [__USE_FLOAT128] (__f128): New macro to apply proper _Float128
        literal suffix depending on compiler version for __USE_GNU
        enabled constants.
        [__USE_FLOAT128] (M_Ef128): New _GNU_SOURCE enabled macro.
        [__USE_FLOAT128] (M_LOG2Ef128): Likewise.
        [__USE_FLOAT128] (M_LOG10Ef128): Likewise.
        [__USE_FLOAT128] (M_LN2f128): Likewise.
        [__USE_FLOAT128] (M_LN10f128): Likewise.
        [__USE_FLOAT128] (M_PIf128): Likewise.
        [__USE_FLOAT128] (M_PI_2f128): Likewise.
        [__USE_FLOAT128] (M_PI_4f128): Likewise.
        [__USE_FLOAT128] (M_1_PIf128): Likewise.
        [__USE_FLOAT128] (M_2_PIf128): Likewise.
        [__USE_FLOAT128] (M_SQRT2f128): Likewise.
        [__USE_FLOAT128] (M_SQRT1_2f128): Likewise.

        * math/mathcalls.h (drem): Only define if __FLOATN_TYPE
        not defined.
        (gamma): Likewise.
        (nexttoward): Likewise.
        (significand): Likewise.
        (pow10): Likewise.
        (scalb): Likewise.
        (finite): Likewise.
        (isinf): Likewise.
        (isnan): Likewise.

https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=59eb7e5f94b88a174ad93151c2d5e73ac0414596

commit 59eb7e5f94b88a174ad93151c2d5e73ac0414596
Author: Paul E. Murphy <murphyp@linux.vnet.ibm.com>
Date:   Wed Jul 20 12:14:21 2016 -0500

    Add support for testing __STDC_WANT_IEC_60559_TYPES_EXT__

    This is defined by TS 18661-3 for supporting the _FloatN
    and _FloatNx types.

    This will also implicitly enforce a minimum GCC 4.9.  Given
    the standard is a C11 derivative, it would seem reasonable
    to assume a C11 compiler with _Generic support.  This allows
    for much simpler type classification macros which in theory
    should be supported on any C11 compiler.

        * bits/libc-header-start.h:
        (__GLIBC_USR_IEC_60559_TYPES_EXT): New macro.

https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=e5950b69272c5f67822df76a39a1e945fd144340

commit e5950b69272c5f67822df76a39a1e945fd144340
Author: Paul E. Murphy <murphyp@linux.vnet.ibm.com>
Date:   Fri Jul 15 14:05:51 2016 -0500

    float128: Add _Float128 make bits to libm.

    This adds the appropriate common bits for a platform to
    enable float128 and expose ABI.

    2016-10-21  Paul E. Murphy  <murphyp@linux.vnet.ibm.com>

        * math/Makefile:
        (type-float128-suffix): New variable
        (type-float128-routines): Likewise
        (type-float128-yes): Likewise
        (types): Append float128 if supported

        * sysdeps/ieee754/float128/Makeconfig: New file.
        * sysdeps/ieee754/float128/Versions: New file.

https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=458399a8fb58690158a25dd07ac8b607775a2090

commit 458399a8fb58690158a25dd07ac8b607775a2090
Author: Paul E. Murphy <murphyp@linux.vnet.ibm.com>
Date:   Mon Aug 8 16:02:23 2016 -0500

    ldbl-128: Use mathx_hidden_def inplace of hidden_def

    This provides a extra macro expansion before invoking
    the hidden_def macro.  This is necessary to build the
    ldbl-128 files as float128 correctly.

        * sysdeps/generic/math_private.h:
        (mathx_hidden_def): New macro.
        * sysdeps/ieee754/ldbl-128/s_finitel.c: Replace hidden_def with
        the above.
        * sysdeps/ieee754/ldbl-128/s_isinfl.c: Likewise.
        * sysdeps/ieee754/ldbl-128/s_isnanl.c: Likewise.

https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=e3dd253bf8992f3d4b7bfb68c5a08d054320807b

commit e3dd253bf8992f3d4b7bfb68c5a08d054320807b
Author: Tulio Magno Quites Machado Filho <tuliom@linux.vnet.ibm.com>
Date:   Fri Feb 3 11:08:03 2017 -0200

    Fix lgamma*, log10* and log2* results [BZ #21171]

    lgamma(-x) should return +Inf and raise divide-by-zero.
    log10(+-0) and log2(+-0) should return -Inf and raise divide-by-zero.

    Tested on powerpc, powerpc64, powerpc64le and x86_64.

    2017-02-16  Tulio Magno Quites Machado Filho  <tuliom@linux.vnet.ibm.com>

        [BZ #21171]
        * sysdeps/ieee754/dbl-64/e_lgamma_r.c (__ieee754_lgamma_r): Return
        +Inf and raise divide-by-zero when x is negative.
        * sysdeps/ieee754/flt-32/e_lgammaf_r.c (__ieee754_lgammaf_r): Likewise.
        * sysdeps/ieee754/ldbl-128/e_lgammal_r.c (__ieee754_lgammal_r):
Likewise.

        * sysdeps/ieee754/dbl-64/e_log10.c (__ieee754_log10):  Return
        -Inf and raise divide-by-zero when x = +-0.
        * sysdeps/ieee754/dbl-64/e_log2.c (__ieee754_log2): Likewise.
        * sysdeps/ieee754/flt-32/e_log10f.c (__ieee754_log10f): Likewise.
        * sysdeps/ieee754/flt-32/e_log2f.c (__ieee754_log2f): Likewise.
        * sysdeps/ieee754/ldbl-128/e_log10l.c (__ieee754_log10l): Likewise.
        * sysdeps/ieee754/ldbl-128/e_log2l.c (__ieee754_log2l): Likewise.
        * sysdeps/ieee754/ldbl-128ibm/e_log10l.c (__ieee754_log10l): Likewise.
        * sysdeps/ieee754/ldbl-128ibm/e_log2l.c (__ieee754_log2l): Likewise.

https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=3578545975b1f08eacf0b9745592f5b0c4276308

commit 3578545975b1f08eacf0b9745592f5b0c4276308
Author: Tulio Magno Quites Machado Filho <tuliom@linux.vnet.ibm.com>
Date:   Tue Feb 14 14:06:22 2017 -0200

    float128: Avoid using float binaries in other types' tests

    Restrict the pattern to avoid conflicts with other types whose test
    names start with "float", e.g. float128.

    2017-02-15  Tulio Magno Quites Machado Filho  <tuliom@linux.vnet.ibm.com>

        * math/Makefile
        ($(addprefix $(objpfx),$(filter test-float%
test-ifloat%,$(libm-tests)):
        Restrict the pattern to avoid conflicts with other types whose
        name start with "float".

https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=0c894c9e992e4fb9be41cb0bc4d1bee5698de7ca

commit 0c894c9e992e4fb9be41cb0bc4d1bee5698de7ca
Author: Tulio Magno Quites Machado Filho <tuliom@linux.vnet.ibm.com>
Date:   Mon Feb 13 18:02:38 2017 -0200

    Use independent types in libm-test-support.c

    In some cases, using different types in the same expression is
    prohibited, e.g long double and _Float128.

    2017-02-15  Tulio Magno Quites Machado Filho  <tuliom@linux.vnet.ibm.com>

        * math/libm-test-support.c (check_ulp): Use LIT() when mentioning
        literal numbers.

https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=7814c940b22d0c401f17aebaec95d91bd9194860

commit 7814c940b22d0c401f17aebaec95d91bd9194860
Author: Gabriel F. T. Gomes <gftg@linux.vnet.ibm.com>
Date:   Thu Dec 15 16:41:58 2016 -0200

    Add new templates for IEEE wrappers

    Several wrappers for IEEE functions use _LIB_VERSION / matherr /
    __kernel_standard functionality, which we want to obsolete.  New
    wrappers, such as for float128, must not use this functionality.

    This patch adds new wrappers that use __feraiseexcept and __set_errno
    and can be used by the new float128 wrappers.

    2016-12-27  Paul E. Murphy  <murphyp@linux.vnet.ibm.com>
            Gabriel F. T. Gomes  <gftg@linux.vnet.ibm.com>

        * math/Makefile: Add wrappers to gen-libm-calls.
        * math/w_acos_template.c: New file.
        * math/w_acosh_template.c: Likewise.
        * math/w_asin_template.c: Likewise.
        * math/w_atan2_template.c: Likewise.
        * math/w_atanh_template.c: Likewise.
        * math/w_cosh_template.c: Likewise.
        * math/w_exp_template.c: Likewise.
        * math/w_exp10_template.c: Likewise.
        * math/w_exp2_template.c: Likewise.
        * math/w_fmod_template.c: Likewise.
        * math/w_hypot_template.c: Likewise.
        * math/w_j0_template.c: Likewise.
        * math/w_j1_template.c: Likewise.
        * math/w_jn_template.c: Likewise.
        * math/w_lgamma_r_template.c: Likewise.
        * math/w_lgamma_template.c: Likewise.
        * math/w_log10_template.c: Likewise.
        * math/w_log2_template.c: Likewise.
        * math/w_log_template.c: Likewise.
        * math/w_pow_template.c: Likewise.
        * math/w_remainder_template.c: Likewise.
        * math/w_sinh_template.c: Likewise.
        * math/w_sqrt_template.c: Likewise.
        * math/w_tgamma_template.c: Likewise.
        * sysdeps/generic/math-type-macros-double.h
        (__USE_WRAPPER_TEMPLATE): New macro to control inclusion of the
        new wrappers.
        * sysdeps/generic/math-type-macros-float.h: Likewise.
        * sysdeps/generic/math-type-macros-float128.h: Likewise.
        * sysdeps/generic/math-type-macros-ldouble.h: Likewise.

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

-- 
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]