kern/133583: [libm] fma(3) does not respect rounding mode using extended precision

das at FreeBSD.org das at FreeBSD.org
Fri Dec 3 07:02:04 UTC 2010


Synopsis: [libm] fma(3) does not respect rounding mode using extended precision

State-Changed-From-To: open->closed
State-Changed-By: das
State-Changed-When: Fri Dec 3 07:01:28 UTC 2010
State-Changed-Why: 
Thanks for the report! This limitation is described in the source for
fma(), and unfortunately, it is unlikely to ever change. There are
several reasons:

- We are a long way from having the necessary compiler support to make 
  dynamic precision changes work as expected.
- Dynamic FPU precision changes aren't officially supported, and
  fpsetprec() has been documented as deprecated for many years. 
- The only supported architecture that can have this problem due to
  dynamic precision changes is i386, and even then only for non-SSE2
  builds.
- The cost and complexity associated with making every function in
  libm detect and adapt to dynamic precision changes is prohibitive.

I have updated the manpage for fpsetprec() to explain that changing
the FPU precision isn't supported by the compiler or libraries.

http://www.freebsd.org/cgi/query-pr.cgi?pr=133583


More information about the freebsd-bugs mailing list