aboutsummaryrefslogtreecommitdiff
path: root/gcc/doc
diff options
context:
space:
mode:
authorBrad Lucier <lucier@math.purdue.edu>2007-05-04 12:19:31 +0200
committerUros Bizjak <uros@gcc.gnu.org>2007-05-04 12:19:31 +0200
commit80b9cbc9555a09d0aca886dbe89ea023660af2ca (patch)
tree3cccc13c62eb78da1747b9036cd5538d4a59e206 /gcc/doc
parentf0fc6ae664bae1a379cadce12d1e4177449e9b9b (diff)
downloadgcc-80b9cbc9555a09d0aca886dbe89ea023660af2ca.zip
gcc-80b9cbc9555a09d0aca886dbe89ea023660af2ca.tar.gz
gcc-80b9cbc9555a09d0aca886dbe89ea023660af2ca.tar.bz2
invoke.texi (i386 and x86-64 Options): Add the note about a significant loss of accuracy of some mathematical routines...
* doc/invoke.texi (i386 and x86-64 Options) [-mpc32, -mpc64, -mpc80]: Add the note about a significant loss of accuracy of some mathematical routines when these options are used. From-SVN: r124413
Diffstat (limited to 'gcc/doc')
-rw-r--r--gcc/doc/invoke.texi21
1 files changed, 15 insertions, 6 deletions
diff --git a/gcc/doc/invoke.texi b/gcc/doc/invoke.texi
index 1a89c90..e608dbc 100644
--- a/gcc/doc/invoke.texi
+++ b/gcc/doc/invoke.texi
@@ -10129,12 +10129,21 @@ the system libraries and startup modules.
@opindex mpc80
Set 80387 floating-point precision to 32, 64 or 80 bits. When @option{-mpc32}
-is specified, the significand of floating-point operations is rounded to 24
-bits (single precision), @option{-mpc64} rounds the significand of
-floating-point operations to 53 bits (double precision) and @option{-mpc80}
-rounds the significand of floating-point operations to 64 bits (extended
-double precision). Note that a change of default precision control may
-affect the results returned by some of the mathematical functions.
+is specified, the significands of results of floating-point operations are
+rounded to 24 bits (single precision); @option{-mpc64} rounds the the
+significands of results of floating-point operations to 53 bits (double
+precision) and @option{-mpc80} rounds the significands of results of
+floating-point operations to 64 bits (extended double precision), which is
+the default. When this option is used, floating-point operations in higher
+precisions are not available to the programmer without setting the FPU
+control word explicitly.
+
+Setting the rounding of floating-point operations to less than the default
+80 bits can speed some programs by 2% or more. Note that some mathematical
+libraries assume that extended precision (80 bit) floating-point operations
+are enabled by default; routines in such libraries could suffer significant
+loss of accuracy, typically through so-called "catastrophic cancellation",
+when this option is used to set the precision to less than extended precision.
@item -mstackrealign
@opindex mstackrealign