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

Uroš Bizjak <ubizjak at gmail dot com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |RESOLVED
         Resolution|---                         |WONTFIX

--- Comment #1 from Uroš Bizjak <ubizjak at gmail dot com> ---
To prevent unwanted use of x87 registers, register allocator is prohibited from
freely allocating x87 registers without -mfpmath=387 for SFmode and DFmode. You
should use long double and 1.0L to get what you want, e.g:

--cut here--
double
atan (double x)
{
  long double _x = x;
  long double _res;
  __asm__("fpatan"
          : "=t" (_res)
          : "0" (1.0L) , "u" (_x)
          : "st(1)");

  return _res;
}
--cut here--

Alternatively, you could use -mfpmath=387,sse to enable x87 regs and x87
instructions also for x86_64.

Reply via email to