public inbox for glibc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug math/17262] New: mathinline.h refines llrint on gcc-3.2 for x86_64
@ 2014-08-12 18:25 siddhesh at redhat dot com
  2014-08-13  9:27 ` [Bug math/17262] " cvs-commit at gcc dot gnu.org
  2014-08-13  9:29 ` siddhesh at redhat dot com
  0 siblings, 2 replies; 3+ messages in thread
From: siddhesh at redhat dot com @ 2014-08-12 18:25 UTC (permalink / raw)
  To: glibc-bugs

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

            Bug ID: 17262
           Summary: mathinline.h refines llrint on gcc-3.2 for x86_64
           Product: glibc
           Version: unspecified
            Status: NEW
          Severity: normal
          Priority: P2
         Component: math
          Assignee: siddhesh at redhat dot com
          Reporter: siddhesh at redhat dot com

Since:

commit 409e00bd69b8d8dd74d7327085351d26769ea6fc
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Wed Jan 29 07:51:41 2014 -0800

    Disable x87 inline functions for SSE2 math

    When i386 and x86-64 mathinline.h was merged into a single mathinline.h,
    "gcc -m32" enables x87 inline functions on x86-64 even when -mfpmath=sse
    and SSE2 is enabled.  It is a regression on x86-64.  We should check
    __SSE2_MATH__ instead of __x86_64__ when disabling x87 inline functions.


gcc-3.2 is unable to correctly compile x86_64 routines for llrint since it gets
redefined.  This is because gcc 3.2 does not set __SSE2_MATH__ by default for
x86_64, thus exposing the duplicate definition.

The correct fix ought to be to check for both __SSE2_MATH__ and __x86_64__ and
enable those bits only when neither are defined.

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


^ permalink raw reply	[flat|nested] 3+ messages in thread

* [Bug math/17262] mathinline.h refines llrint on gcc-3.2 for x86_64
  2014-08-12 18:25 [Bug math/17262] New: mathinline.h refines llrint on gcc-3.2 for x86_64 siddhesh at redhat dot com
@ 2014-08-13  9:27 ` cvs-commit at gcc dot gnu.org
  2014-08-13  9:29 ` siddhesh at redhat dot com
  1 sibling, 0 replies; 3+ messages in thread
From: cvs-commit at gcc dot gnu.org @ 2014-08-13  9:27 UTC (permalink / raw)
  To: glibc-bugs

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

--- 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  508ce3acd95e0782bc81e1f1eb84c43fa6978cfc (commit)
      from  b4acef1ffe2e1ba6c608f31c1954a8100d3eabb0 (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=508ce3acd95e0782bc81e1f1eb84c43fa6978cfc

commit 508ce3acd95e0782bc81e1f1eb84c43fa6978cfc
Author: Siddhesh Poyarekar <siddhesh@redhat.com>
Date:   Wed Aug 13 14:05:15 2014 +0530

    Disable x87 inline functions for x86_64 and SSE [BZ #17262]

    Since:

    commit 409e00bd69b8d8dd74d7327085351d26769ea6fc
    Author: H.J. Lu <hjl.tools@gmail.com>
    Date:   Wed Jan 29 07:51:41 2014 -0800

        Disable x87 inline functions for SSE2 math

        When i386 and x86-64 mathinline.h was merged into a single
mathinline.h,
        "gcc -m32" enables x87 inline functions on x86-64 even when
-mfpmath=sse
        and SSE2 is enabled.  It is a regression on x86-64.  We should check
        __SSE2_MATH__ instead of __x86_64__ when disabling x87 inline
functions.

    gcc-3.2 is unable to correctly compile x86_64 routines for llrint
    since it gets redefined.  This is because gcc 3.2 does not set
    __SSE2_MATH__ for x86_64, thus exposing the duplicate definition.

    The correct fix ought to be to check for both __SSE2_MATH__ and
    __x86_64__ and enable those bits only when neither are defined.

    Tested fix with the reproducer for
    409e00bd69b8d8dd74d7327085351d26769ea6fc as well as with gcc-3.2.

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

Summary of changes:
 ChangeLog                         |    6 ++++++
 NEWS                              |    2 +-
 sysdeps/x86/fpu/bits/mathinline.h |    7 +++++--
 3 files changed, 12 insertions(+), 3 deletions(-)

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


^ permalink raw reply	[flat|nested] 3+ messages in thread

* [Bug math/17262] mathinline.h refines llrint on gcc-3.2 for x86_64
  2014-08-12 18:25 [Bug math/17262] New: mathinline.h refines llrint on gcc-3.2 for x86_64 siddhesh at redhat dot com
  2014-08-13  9:27 ` [Bug math/17262] " cvs-commit at gcc dot gnu.org
@ 2014-08-13  9:29 ` siddhesh at redhat dot com
  1 sibling, 0 replies; 3+ messages in thread
From: siddhesh at redhat dot com @ 2014-08-13  9:29 UTC (permalink / raw)
  To: glibc-bugs

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

Siddhesh Poyarekar <siddhesh at redhat dot com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |RESOLVED
         Resolution|---                         |FIXED

--- Comment #2 from Siddhesh Poyarekar <siddhesh at redhat dot com> ---
Fixed in master.

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


^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2014-08-13  9:29 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2014-08-12 18:25 [Bug math/17262] New: mathinline.h refines llrint on gcc-3.2 for x86_64 siddhesh at redhat dot com
2014-08-13  9:27 ` [Bug math/17262] " cvs-commit at gcc dot gnu.org
2014-08-13  9:29 ` siddhesh at redhat dot com

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).