[Bug libgcc/88931] Wrong __floattisf and __floattidf are selected in libgcc

hjl.tools at gmail dot com gcc-bugzilla@gcc.gnu.org
Mon Jan 21 15:26:00 GMT 2019


https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88931

H.J. Lu <hjl.tools at gmail dot com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Target|                            |x86-64
             Status|UNCONFIRMED                 |NEW
   Last reconfirmed|                            |2019-01-21
          Component|c                           |libgcc
                 CC|                            |ubizjak at gmail dot com
         Depends on|34678                       |
     Ever confirmed|0                           |1
            Summary|Failed to convert int128 to |Wrong __floattisf and
                   |float/double with           |__floattidf are selected in
                   |round=FE_UPWARD/FE_TOWARDZE |libgcc
                   |RO                          |
   Target Milestone|---                         |9.0

--- Comment #4 from H.J. Lu <hjl.tools at gmail dot com> ---
On x86-64, wrong __floattisf and __floattidf are selected in libgcc.
They should come from soft-fp, not in libgcc2.c as

FSTYPE
FUNC (DWtype u)
{
  ...
}

which has no rounding mode support.


Referenced Bugs:

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=34678
[Bug 34678] Optimization generates incorrect code with -frounding-math option
(#pragma STDC FENV_ACCESS not implemented)


More information about the Gcc-bugs mailing list