Merge pull request #9980 from xavierleroy/ocamlopt-doc

Ocamlopt documentation updates
master
Florian Angeletti 2020-10-19 14:38:20 +02:00 committed by GitHub
commit 7acf73f2b0
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 16 additions and 10 deletions

View File

@ -113,12 +113,13 @@ exclusive.
% compilers and toplevel % compilers and toplevel
\input{unified-options.tex} \input{unified-options.tex}
\paragraph{Options for the IA32 architecture} \paragraph{Options for the 32-bit x86 architecture}
The IA32 code generator (Intel Pentium, AMD Athlon) supports the The 32-bit code generator for Intel/AMD x86 processors ("i386"
architecture) supports the
following additional option: following additional option:
\begin{options} \begin{options}
\item["-ffast-math"] Use the IA32 instructions to compute \item["-ffast-math"] Use the processor instructions to compute
trigonometric and exponential functions, instead of calling the trigonometric and exponential functions, instead of calling the
corresponding library routines. The functions affected are: corresponding library routines. The functions affected are:
"atan", "atan2", "cos", "log", "log10", "sin", "sqrt" and "tan". "atan", "atan2", "cos", "log", "log10", "sin", "sqrt" and "tan".
@ -128,9 +129,9 @@ trigonometric operations "cos", "sin", "tan" have their range reduced to
$[-2^{64}, 2^{64}]$. $[-2^{64}, 2^{64}]$.
\end{options} \end{options}
\paragraph{Options for the AMD64 architecture} \paragraph{Options for the 64-bit x86 architecture}
The AMD64 code generator (64-bit versions of Intel Pentium and AMD The 64-bit code generator for Intel/AMD x86 processors ("amd64"
Athlon) supports the following additional options: architecture) supports the following additional options:
\begin{options} \begin{options}
\item["-fPIC"] Generate position-independent machine code. This is \item["-fPIC"] Generate position-independent machine code. This is
@ -219,8 +220,8 @@ until the next heap allocation.
beneficial, but produces floating-point results that differ slightly beneficial, but produces floating-point results that differ slightly
from those produced by the bytecode interpreter. from those produced by the bytecode interpreter.
\item On IA32 processors only (Intel and AMD x86 processors in 32-bit \item On Intel/AMD x86 processors in 32-bit mode,
mode), some intermediate results in floating-point computations are some intermediate results in floating-point computations are
kept in extended precision rather than being rounded to double kept in extended precision rather than being rounded to double
precision like the bytecode compiler always does. Floating-point precision like the bytecode compiler always does. Floating-point
results can therefore differ slightly between bytecode and native code. results can therefore differ slightly between bytecode and native code.

View File

@ -393,8 +393,13 @@ libraries and options on the command line.
\nat{% \nat{%
\item["-nodynlink"] \item["-nodynlink"]
Allow the compiler to use some optimizations that are valid only for code Allow the compiler to use some optimizations that are valid only for
that is never dynlinked. code that is statically linked to produce a non-relocatable
executable. The generated code cannot be linked to produce a shared
library nor a position-independent executable (PIE). Many operating
systems produce PIEs by default, causing errors when linking code
compiled with "-nodynlink". Either do not use "-nodynlink" or pass
the option "-ccopt -no-pie" at link-time.
}%nat }%nat
\item["-nolabels"] \item["-nolabels"]