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/18875] Excess precision leads incorrect libm


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

--- 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, hjl/i486/multiarch has been created
        at  f7eea8a23ba1eac64fb4df4adac0994eb1100bbb (commit)

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

commit f7eea8a23ba1eac64fb4df4adac0994eb1100bbb
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Wed Aug 26 04:20:42 2015 -0700

    Add i386 math multiarch functions

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

commit 6382df1128284235df4b74eca24b74a55cb0b067
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Tue Aug 25 07:45:24 2015 -0700

    Add i386 wmemcmp multiarch functions

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

commit 37e0039145eab31a6f40bd4f405d70980a10997e
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Tue Aug 25 06:51:45 2015 -0700

    Add i386 wcslen multiarch functions

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

commit 0c214795731114419952cdee950126f511d78256
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Tue Aug 25 06:24:16 2015 -0700

    Add i386 wcscpy multiarch functions

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

commit 8b5e495be44cd9784204b3b17b059424b55c192d
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Tue Aug 25 06:12:47 2015 -0700

    Add i386 wcscmp multiarch functions

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

commit 4dc3f36ad92e8483f64a2ee832ee689c2359b925
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Tue Aug 25 06:06:30 2015 -0700

    Add i386 wcschr/wcsrchr multiarch functions

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

commit c30b6b2c95b116f7088f7d254c8bb1c3c2f0b357
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Mon Aug 24 16:03:28 2015 -0700

    Add i386 strspn multiarch functions

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

commit bab8c4eff77fe6d1f15a6cb36bf66a950ffcbed8
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Mon Aug 24 13:01:12 2015 -0700

    Add i386 strlen family multiarch functions

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

commit 7242ead89619cef1105c879cfe08c9cd61794d79
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Mon Aug 24 11:41:57 2015 -0700

    Add i386 strrchr multiarch functions

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

commit 79d496f795977272c898b3361e4f924eda944380
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Mon Aug 24 10:46:29 2015 -0700

    Add i386 strcspn family multiarch functions

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

commit dac0c89a3d69a11ccdc5ccf0212f6ed687ba5071
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Sun Aug 23 12:47:24 2015 -0700

    Add i386 strchr multiarch functions

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

commit 755b04a7a8927ff6a7e67a4e05f764da2741f2ee
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Thu Aug 20 15:20:58 2015 -0700

    Add i386 strcat multiarch functions

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

commit e97d33ad32153aec16fdeae573ff003d76522a8f
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Thu Aug 20 13:57:22 2015 -0700

    Add i386 strcmp family multiarch functions

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

commit 91c716e2d9ccf9423a5061a9cf71a4572159bb6e
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Thu Aug 20 12:05:50 2015 -0700

    Add i386 strcpy family multiarch functions

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

commit 7861c599d99f5cff9cceb0fbc9123a94090b0555
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Thu Aug 20 08:56:52 2015 -0700

    Add i386 s_fma family multiarch functions

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

commit 02ff40bab5a671b590bdf21c9219b863f2d52f4b
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Thu Aug 20 08:39:14 2015 -0700

    Add i386 sched_cpucount multiarch functions

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

commit fec5d43d6ed8734d23ee353ecbc8e0ebb708398d
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Thu Aug 20 08:33:40 2015 -0700

    Add i386 rawmemchr multiarch functions

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

commit 4fe752c906aaf1d1d8e956f4a0d3eb89dcc92c99
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Thu Aug 20 08:28:10 2015 -0700

    Add i386 memrchr multiarch functions

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

commit db05d09576d5df9c99915fe606c23ff3ed48764a
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Thu Aug 20 08:20:41 2015 -0700

    Add i386 memcmp multiarch functions

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

commit 509b30facb29ec41a303afcfefbe767214c50209
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Thu Aug 20 08:05:39 2015 -0700

    Add i386 memchr multiarch functions

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

commit d1d165f3d9b3c516d36d346c55004ada0b325ff4
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Thu Aug 20 06:28:49 2015 -0700

    Add i386 memcpy family multiarch functions

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

commit eac66bd967d2799596af357f7e4210c56ad8e9a4
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Wed Aug 19 14:10:40 2015 -0700

    Add i386 memset family multiarch functions

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

commit b6a42295f437e7c3ab942d915d616bc1d8367b5d
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Tue Aug 18 13:45:25 2015 -0700

    Add i386 memset and memcpy assembly functions

    Add i386 memset and memcpy assembly functions with REP MOVSB/STOSB
    instructions.

        * sysdeps/i386/bcopy.S: New file.
        * sysdeps/i386/bzero.S: Likewise.
        * sysdeps/i386/memcpy.S: Likewise.
        * sysdeps/i386/memmove.S: Likewise.
        * sysdeps/i386/mempcpy.S: Likewise.
        * sysdeps/i386/memset.S: Likewise.
        * sysdeps/i386/bzero.c: Removed.
        * sysdeps/i386/memset.c: Likewise.
        * sysdeps/i386/i586/memcpy_chk.S: Likewise.
        * sysdeps/i386/i586/mempcpy_chk.S: Likewise.
        * sysdeps/i386/i586/memset_chk.S: Likewise.
        * sysdeps/i386/i686/memcpy_chk.S: Moved to ...
        * sysdeps/i386/memcpy_chk.S: Here.
        * sysdeps/i386/i686/memmove_chk.S: Moved to ...
        * sysdeps/i386/memmove_chk.S: Here.
        * sysdeps/i386/i686/mempcpy_chk.S: Moved to ...
        * sysdeps/i386/mempcpy_chk.S: Likewise.
        * sysdeps/i386/i686/memset_chk.S: Moved to ...
        * sysdeps/i386/memset_chk.S: Likewise.

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

commit b6486a4bc96371871e74ac92bc0c83ef6a70f3f1
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Mon Aug 17 10:19:05 2015 -0700

    Detect i586 and i686 features at run-time

    We detect i586 and i686 features at run-time by checking CX8 and CMOV
    CPUID features bits.  We can use these information to select the best
    implementation in ix86 multiarch.  Due to the reordering and the other
    nifty extensions in i686, it is not really good to use heavily i586
    optimized code on an i686.  It's better to use i486/i386 code if it
    isn't an i586.

        * sysdeps/i386/init-arch.h: New file.
        * sysdeps/i386/i486/init-arch.h: Likewise.
        * sysdeps/i386/i586/init-arch.h: Likewise.
        * sysdeps/i386/i686/init-arch.h: Likewise.
        * sysdeps/x86/cpu-features.c (init_cpu_features): Set bit_I586
        bit if CX8 is available.  Set bit_I686 bit if CMOV is available.
        * sysdeps/x86/cpu-features.h (bit_I586): New.
        (bit_I686): Likewise.
        (bit_CX8): Likewise.
        (bit_CMOV): Likewise.
        (index_CX8): Likewise.
        (index_CMOV): Likewise.
        (index_I586): Likewise.
        (index_I686): Likewise.
        (reg_CX8): Likewise.
        (reg_CMOV): Likewise.
        (HAS_I586): Defined as HAS_ARCH_FEATURE (I586) if i586 isn't
        available at compile-time.
        (HAS_I686): Defined as HAS_ARCH_FEATURE (I686) if i686 isn't
        available at compile-time.
        * sysdeps/x86/init-arch.h (USE_I586): New macro.
        (USE_I686): Likewise.

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

commit 81100cea4a76c82babbeda9c414ef3f47f48b967
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Thu Aug 20 09:50:33 2015 -0700

    Replace MEMPCPY_P/PIC with USE_AS_MEMPCPY/SHARED

    Replace MEMPCPY_P with USE_AS_MEMPCPY in i586 memcpy.S to support i386
    multi-arch memcpy.  Also we should check SHARED not PIC for libc.so
    since libc.a may be compiled with PIC.

        * sysdeps/i386/i586/memcpy.S (MEMPCPY_P): Removed.
        Check USE_AS_MEMPCPY/SHARED instead of MEMPCPY_P/PIC.
        * sysdeps/i386/i586/mempcpy.S (USE_AS_MEMPCPY): New.

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

commit a57dad3d7c1fc9c1b795c83dedc3809918c4bddc
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Wed Aug 19 13:43:30 2015 -0700

    Replace BZERO_P/PIC with USE_AS_BZERO/SHARED

    Replace BZERO_P with USE_AS_BZERO in i586/i686 memset.S to support i386
    multi-arch memset.  Also we should check SHARED not PIC for libc.so
    since libc.a may be compiled with PIC.

        * sysdeps/i386/i586/bzero.S (USE_AS_BZERO): New.
        * sysdeps/i386/i686/bzero.S (USE_AS_BZERO): Likewise.
        * sysdeps/i386/i586/memset.S (BZERO_P): Removed.
        Check USE_AS_BZERO/SHARED instead of BZERO_P/PIC.
        (__memset_zero_constant_len_parameter): New.
        * sysdeps/i386/i686/memset.S (BZERO_P): Removed.
        Check USE_AS_BZERO/SHARED instead of BZERO_P/PIC.
        (__memset_zero_constant_len_parameter): Don't define if
        __memset_chk or USE_AS_BZERO are defined.

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

commit 346823cdad1a889ce642d58e0ab3e11fcea0e824
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Wed Aug 26 06:27:32 2015 -0700

    Avoid excess precision in check against float zero

    For check against float zero:

      float z;
      z = ...
      if (z == 0)

    on x86 with excess precision, we may get

    (gdb) info float
    =>R7: Valid   0x3d30e0d9b4d78a806800 +6.369668676344082156e-217
      R6: Empty   0x40029000000000000000

    and z (+6.369668676344082156e-217) == 0 is false.  We can avoid excess
    precision by checking binary representations of float zero directly.

        [BZ #18875]
        * sysdeps/i386/fpu/w_exp10f.c: New file.
        * sysdeps/i386/fpu/w_exp2f.c: Likwise.
        * sysdeps/i386/fpu/w_expf.c: Likwise.

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

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