invoke.texi: Correct hyphenation of "floating point"...
2012-01-28 Sandra Loosemore <sandra@codesourcery.com> gcc/ * doc/invoke.texi: Correct hyphenation of "floating point", "double precision", and related terminology throughout the file. From-SVN: r183663
This commit is contained in:
parent
8ea2d689b8
commit
6b6985baae
|
@ -1,3 +1,8 @@
|
||||||
|
2012-01-28 Sandra Loosemore <sandra@codesourcery.com>
|
||||||
|
|
||||||
|
* doc/invoke.texi: Correct hyphenation of "floating point",
|
||||||
|
"double precision", and related terminology throughout the file.
|
||||||
|
|
||||||
2012-01-28 Jakub Jelinek <jakub@redhat.com>
|
2012-01-28 Jakub Jelinek <jakub@redhat.com>
|
||||||
|
|
||||||
PR target/52006
|
PR target/52006
|
||||||
|
|
|
@ -3835,7 +3835,7 @@ that are always out of bounds. This warning is enabled by @option{-Wall}.
|
||||||
@item -Wno-div-by-zero
|
@item -Wno-div-by-zero
|
||||||
@opindex Wno-div-by-zero
|
@opindex Wno-div-by-zero
|
||||||
@opindex Wdiv-by-zero
|
@opindex Wdiv-by-zero
|
||||||
Do not warn about compile-time integer division by zero. Floating point
|
Do not warn about compile-time integer division by zero. Floating-point
|
||||||
division by zero is not warned about, as it can be a legitimate way of
|
division by zero is not warned about, as it can be a legitimate way of
|
||||||
obtaining infinities and NaNs.
|
obtaining infinities and NaNs.
|
||||||
|
|
||||||
|
@ -3868,7 +3868,7 @@ headers---for that, @option{-Wunknown-pragmas} must also be used.
|
||||||
@item -Wfloat-equal
|
@item -Wfloat-equal
|
||||||
@opindex Wfloat-equal
|
@opindex Wfloat-equal
|
||||||
@opindex Wno-float-equal
|
@opindex Wno-float-equal
|
||||||
Warn if floating point values are used in equality comparisons.
|
Warn if floating-point values are used in equality comparisons.
|
||||||
|
|
||||||
The idea behind this is that sometimes it is convenient (for the
|
The idea behind this is that sometimes it is convenient (for the
|
||||||
programmer) to consider floating-point values as approximations to
|
programmer) to consider floating-point values as approximations to
|
||||||
|
@ -3912,7 +3912,7 @@ A function-like macro that appears without arguments.
|
||||||
The unary plus operator.
|
The unary plus operator.
|
||||||
|
|
||||||
@item
|
@item
|
||||||
The @samp{U} integer constant suffix, or the @samp{F} or @samp{L} floating point
|
The @samp{U} integer constant suffix, or the @samp{F} or @samp{L} floating-point
|
||||||
constant suffixes. (Traditional C does support the @samp{L} suffix on integer
|
constant suffixes. (Traditional C does support the @samp{L} suffix on integer
|
||||||
constants.) Note, these suffixes appear in macros defined in the system
|
constants.) Note, these suffixes appear in macros defined in the system
|
||||||
headers of most modern systems, e.g.@: the @samp{_MIN}/@samp{_MAX} macros in @code{<limits.h>}.
|
headers of most modern systems, e.g.@: the @samp{_MIN}/@samp{_MAX} macros in @code{<limits.h>}.
|
||||||
|
@ -3955,7 +3955,7 @@ initializer warnings and relies on default initialization to zero in the
|
||||||
traditional C case.
|
traditional C case.
|
||||||
|
|
||||||
@item
|
@item
|
||||||
Conversions by prototypes between fixed/floating point values and vice
|
Conversions by prototypes between fixed/floating-point values and vice
|
||||||
versa. The absence of these prototypes when compiling with traditional
|
versa. The absence of these prototypes when compiling with traditional
|
||||||
C would cause serious problems. This is a subset of the possible
|
C would cause serious problems. This is a subset of the possible
|
||||||
conversion warnings, for the full set use @option{-Wtraditional-conversion}.
|
conversion warnings, for the full set use @option{-Wtraditional-conversion}.
|
||||||
|
@ -3976,7 +3976,7 @@ traditional C compatibility.
|
||||||
Warn if a prototype causes a type conversion that is different from what
|
Warn if a prototype causes a type conversion that is different from what
|
||||||
would happen to the same argument in the absence of a prototype. This
|
would happen to the same argument in the absence of a prototype. This
|
||||||
includes conversions of fixed point to floating and vice versa, and
|
includes conversions of fixed point to floating and vice versa, and
|
||||||
conversions changing the width or signedness of a fixed point argument
|
conversions changing the width or signedness of a fixed-point argument
|
||||||
except when the same as the default promotion.
|
except when the same as the default promotion.
|
||||||
|
|
||||||
@item -Wdeclaration-after-statement @r{(C and Objective-C only)}
|
@item -Wdeclaration-after-statement @r{(C and Objective-C only)}
|
||||||
|
@ -6451,7 +6451,7 @@ optimization is turned on, use the @option{-fno-keep-static-consts} option.
|
||||||
|
|
||||||
@item -fmerge-constants
|
@item -fmerge-constants
|
||||||
@opindex fmerge-constants
|
@opindex fmerge-constants
|
||||||
Attempt to merge identical constants (string constants and floating point
|
Attempt to merge identical constants (string constants and floating-point
|
||||||
constants) across compilation units.
|
constants) across compilation units.
|
||||||
|
|
||||||
This option is the default for optimized compilation if the assembler and
|
This option is the default for optimized compilation if the assembler and
|
||||||
|
@ -6466,7 +6466,7 @@ Attempt to merge identical constants and identical variables.
|
||||||
|
|
||||||
This option implies @option{-fmerge-constants}. In addition to
|
This option implies @option{-fmerge-constants}. In addition to
|
||||||
@option{-fmerge-constants} this considers e.g.@: even constant initialized
|
@option{-fmerge-constants} this considers e.g.@: even constant initialized
|
||||||
arrays or initialized constant variables with integral or floating point
|
arrays or initialized constant variables with integral or floating-point
|
||||||
types. Languages like C or C++ require each variable, including multiple
|
types. Languages like C or C++ require each variable, including multiple
|
||||||
instances of the same variable in recursive calls, to have distinct locations,
|
instances of the same variable in recursive calls, to have distinct locations,
|
||||||
so using this option will result in non-conforming
|
so using this option will result in non-conforming
|
||||||
|
@ -6808,7 +6808,7 @@ If supported for the target machine, attempt to reorder instructions to
|
||||||
eliminate execution stalls due to required data being unavailable. This
|
eliminate execution stalls due to required data being unavailable. This
|
||||||
helps machines that have slow floating point or memory load instructions
|
helps machines that have slow floating point or memory load instructions
|
||||||
by allowing other instructions to be issued until the result of the load
|
by allowing other instructions to be issued until the result of the load
|
||||||
or floating point instruction is required.
|
or floating-point instruction is required.
|
||||||
|
|
||||||
Enabled at levels @option{-O2}, @option{-O3}.
|
Enabled at levels @option{-O2}, @option{-O3}.
|
||||||
|
|
||||||
|
@ -8066,18 +8066,18 @@ If @var{path} is specified, GCC will look at the @var{path} to find
|
||||||
the profile feedback data files. See @option{-fprofile-dir}.
|
the profile feedback data files. See @option{-fprofile-dir}.
|
||||||
@end table
|
@end table
|
||||||
|
|
||||||
The following options control compiler behavior regarding floating
|
The following options control compiler behavior regarding floating-point
|
||||||
point arithmetic. These options trade off between speed and
|
arithmetic. These options trade off between speed and
|
||||||
correctness. All must be specifically enabled.
|
correctness. All must be specifically enabled.
|
||||||
|
|
||||||
@table @gcctabopt
|
@table @gcctabopt
|
||||||
@item -ffloat-store
|
@item -ffloat-store
|
||||||
@opindex ffloat-store
|
@opindex ffloat-store
|
||||||
Do not store floating point variables in registers, and inhibit other
|
Do not store floating-point variables in registers, and inhibit other
|
||||||
options that might change whether a floating point value is taken from a
|
options that might change whether a floating-point value is taken from a
|
||||||
register or memory.
|
register or memory.
|
||||||
|
|
||||||
@cindex floating point precision
|
@cindex floating-point precision
|
||||||
This option prevents undesirable excess precision on machines such as
|
This option prevents undesirable excess precision on machines such as
|
||||||
the 68000 where the floating registers (of the 68881) keep more
|
the 68000 where the floating registers (of the 68881) keep more
|
||||||
precision than a @code{double} is supposed to have. Similarly for the
|
precision than a @code{double} is supposed to have. Similarly for the
|
||||||
|
@ -8208,7 +8208,7 @@ The default is @option{-fno-finite-math-only}.
|
||||||
|
|
||||||
@item -fno-signed-zeros
|
@item -fno-signed-zeros
|
||||||
@opindex fno-signed-zeros
|
@opindex fno-signed-zeros
|
||||||
Allow optimizations for floating point arithmetic that ignore the
|
Allow optimizations for floating-point arithmetic that ignore the
|
||||||
signedness of zero. IEEE arithmetic specifies the behavior of
|
signedness of zero. IEEE arithmetic specifies the behavior of
|
||||||
distinct +0.0 and @minus{}0.0 values, which then prohibits simplification
|
distinct +0.0 and @minus{}0.0 values, which then prohibits simplification
|
||||||
of expressions such as x+0.0 or 0.0*x (even with @option{-ffinite-math-only}).
|
of expressions such as x+0.0 or 0.0*x (even with @option{-ffinite-math-only}).
|
||||||
|
@ -8233,13 +8233,13 @@ The default is @option{-ftrapping-math}.
|
||||||
|
|
||||||
@item -frounding-math
|
@item -frounding-math
|
||||||
@opindex frounding-math
|
@opindex frounding-math
|
||||||
Disable transformations and optimizations that assume default floating
|
Disable transformations and optimizations that assume default floating-point
|
||||||
point rounding behavior. This is round-to-zero for all floating point
|
rounding behavior. This is round-to-zero for all floating point
|
||||||
to integer conversions, and round-to-nearest for all other arithmetic
|
to integer conversions, and round-to-nearest for all other arithmetic
|
||||||
truncations. This option should be specified for programs that change
|
truncations. This option should be specified for programs that change
|
||||||
the FP rounding mode dynamically, or that may be executed with a
|
the FP rounding mode dynamically, or that may be executed with a
|
||||||
non-default rounding mode. This option disables constant folding of
|
non-default rounding mode. This option disables constant folding of
|
||||||
floating point expressions at compile-time (which may be affected by
|
floating-point expressions at compile time (which may be affected by
|
||||||
rounding mode) and arithmetic transformations that are unsafe in the
|
rounding mode) and arithmetic transformations that are unsafe in the
|
||||||
presence of sign-dependent rounding modes.
|
presence of sign-dependent rounding modes.
|
||||||
|
|
||||||
|
@ -8268,8 +8268,8 @@ disable all GCC optimizations that affect signaling NaN behavior.
|
||||||
|
|
||||||
@item -fsingle-precision-constant
|
@item -fsingle-precision-constant
|
||||||
@opindex fsingle-precision-constant
|
@opindex fsingle-precision-constant
|
||||||
Treat floating point constant as single precision constant instead of
|
Treat floating-point constants as single precision instead of
|
||||||
implicitly converting it to double precision constant.
|
implicitly converting them to double-precision constants.
|
||||||
|
|
||||||
@item -fcx-limited-range
|
@item -fcx-limited-range
|
||||||
@opindex fcx-limited-range
|
@opindex fcx-limited-range
|
||||||
|
@ -10379,7 +10379,7 @@ Emit @var{num} nops before every other generated instruction.
|
||||||
|
|
||||||
@item -mno-soft-cmpsf
|
@item -mno-soft-cmpsf
|
||||||
@opindex mno-soft-cmpsf
|
@opindex mno-soft-cmpsf
|
||||||
For single-precision floating point comparisons, emit an fsub instruction
|
For single-precision floating-point comparisons, emit an fsub instruction
|
||||||
and test the flags. This is faster than a software comparison, but can
|
and test the flags. This is faster than a software comparison, but can
|
||||||
get incorrect results in the presence of NaNs, or when two different small
|
get incorrect results in the presence of NaNs, or when two different small
|
||||||
numbers are compared such that their difference is calculated as zero.
|
numbers are compared such that their difference is calculated as zero.
|
||||||
|
@ -10426,8 +10426,8 @@ are in effect.
|
||||||
|
|
||||||
@item -mfp-mode=@var{mode}
|
@item -mfp-mode=@var{mode}
|
||||||
@opindex mfp-mode
|
@opindex mfp-mode
|
||||||
Set the prevailing mode of the floating point unit.
|
Set the prevailing mode of the floating-point unit.
|
||||||
This determines the floating point mode that is provided and expected
|
This determines the floating-point mode that is provided and expected
|
||||||
at function call and return time. Making this mode match the mode you
|
at function call and return time. Making this mode match the mode you
|
||||||
predominantly need at function start can make your programs smaller and
|
predominantly need at function start can make your programs smaller and
|
||||||
faster by avoiding unnecessary mode switches.
|
faster by avoiding unnecessary mode switches.
|
||||||
|
@ -10446,12 +10446,12 @@ mode switching that might be needed, compared with what would be needed
|
||||||
with a more specific choice of prevailing FPU mode.
|
with a more specific choice of prevailing FPU mode.
|
||||||
|
|
||||||
@item truncate
|
@item truncate
|
||||||
This is the mode used for floating point calculations with
|
This is the mode used for floating-point calculations with
|
||||||
truncating (i.e.@: round towards zero) rounding mode. That includes
|
truncating (i.e.@: round towards zero) rounding mode. That includes
|
||||||
conversion from floating point to integer.
|
conversion from floating point to integer.
|
||||||
|
|
||||||
@item round-nearest
|
@item round-nearest
|
||||||
This is the mode used for floating point calculations with
|
This is the mode used for floating-point calculations with
|
||||||
round-to-nearest-or-even rounding mode.
|
round-to-nearest-or-even rounding mode.
|
||||||
|
|
||||||
@item int
|
@item int
|
||||||
|
@ -10541,9 +10541,9 @@ system is required to provide these functions. The default is
|
||||||
@c not currently implemented
|
@c not currently implemented
|
||||||
@item -mapcs-float
|
@item -mapcs-float
|
||||||
@opindex mapcs-float
|
@opindex mapcs-float
|
||||||
Pass floating point arguments using the float point registers. This is
|
Pass floating-point arguments using the floating-point registers. This is
|
||||||
one of the variants of the APCS@. This option is recommended if the
|
one of the variants of the APCS@. This option is recommended if the
|
||||||
target hardware has a floating point unit or if a lot of floating point
|
target hardware has a floating-point unit or if a lot of floating-point
|
||||||
arithmetic is going to be performed by the code. The default is
|
arithmetic is going to be performed by the code. The default is
|
||||||
@option{-mno-apcs-float}, since integer only code is slightly increased in
|
@option{-mno-apcs-float}, since integer only code is slightly increased in
|
||||||
size if @option{-mapcs-float} is used.
|
size if @option{-mapcs-float} is used.
|
||||||
|
@ -10697,7 +10697,7 @@ unsuccessful the option has no effect.
|
||||||
@opindex mfpu
|
@opindex mfpu
|
||||||
@opindex mfpe
|
@opindex mfpe
|
||||||
@opindex mfp
|
@opindex mfp
|
||||||
This specifies what floating point hardware (or hardware emulation) is
|
This specifies what floating-point hardware (or hardware emulation) is
|
||||||
available on the target. Permissible names are: @samp{fpa}, @samp{fpe2},
|
available on the target. Permissible names are: @samp{fpa}, @samp{fpe2},
|
||||||
@samp{fpe3}, @samp{maverick}, @samp{vfp}, @samp{vfpv3}, @samp{vfpv3-fp16},
|
@samp{fpe3}, @samp{maverick}, @samp{vfp}, @samp{vfpv3}, @samp{vfpv3-fp16},
|
||||||
@samp{vfpv3-d16}, @samp{vfpv3-d16-fp16}, @samp{vfpv3xd}, @samp{vfpv3xd-fp16},
|
@samp{vfpv3-d16}, @samp{vfpv3-d16-fp16}, @samp{vfpv3xd}, @samp{vfpv3xd-fp16},
|
||||||
|
@ -10708,7 +10708,7 @@ available on the target. Permissible names are: @samp{fpa}, @samp{fpe2},
|
||||||
of GCC@.
|
of GCC@.
|
||||||
|
|
||||||
If @option{-msoft-float} is specified this specifies the format of
|
If @option{-msoft-float} is specified this specifies the format of
|
||||||
floating point values.
|
floating-point values.
|
||||||
|
|
||||||
If the selected floating-point hardware includes the NEON extension
|
If the selected floating-point hardware includes the NEON extension
|
||||||
(e.g. @option{-mfpu}=@samp{neon}), note that floating-point
|
(e.g. @option{-mfpu}=@samp{neon}), note that floating-point
|
||||||
|
@ -10791,8 +10791,8 @@ unless stack-checking is enabled, when R9 is used.
|
||||||
Insert NOPs into the instruction stream to in order to work around
|
Insert NOPs into the instruction stream to in order to work around
|
||||||
problems with invalid Maverick instruction combinations. This option
|
problems with invalid Maverick instruction combinations. This option
|
||||||
is only valid if the @option{-mcpu=ep9312} option has been used to
|
is only valid if the @option{-mcpu=ep9312} option has been used to
|
||||||
enable generation of instructions for the Cirrus Maverick floating
|
enable generation of instructions for the Cirrus Maverick floating-point
|
||||||
point co-processor. This option is not enabled by default, since the
|
co-processor. This option is not enabled by default, since the
|
||||||
problem is only present in older Maverick implementations. The default
|
problem is only present in older Maverick implementations. The default
|
||||||
can be re-enabled by use of the @option{-mno-cirrus-fix-invalid-insns}
|
can be re-enabled by use of the @option{-mno-cirrus-fix-invalid-insns}
|
||||||
switch.
|
switch.
|
||||||
|
@ -11939,7 +11939,7 @@ required to have floating-point registers.
|
||||||
@opindex mno-fp-regs
|
@opindex mno-fp-regs
|
||||||
Generate code that uses (does not use) the floating-point register set.
|
Generate code that uses (does not use) the floating-point register set.
|
||||||
@option{-mno-fp-regs} implies @option{-msoft-float}. If the floating-point
|
@option{-mno-fp-regs} implies @option{-msoft-float}. If the floating-point
|
||||||
register set is not used, floating point operands are passed in integer
|
register set is not used, floating-point operands are passed in integer
|
||||||
registers as if they were integers and floating-point results are passed
|
registers as if they were integers and floating-point results are passed
|
||||||
in @code{$0} instead of @code{$f0}. This is a non-standard calling sequence,
|
in @code{$0} instead of @code{$f0}. This is a non-standard calling sequence,
|
||||||
so any function with a floating-point argument or return value called by code
|
so any function with a floating-point argument or return value called by code
|
||||||
|
@ -11952,9 +11952,9 @@ and hence need not save and restore, any floating-point registers.
|
||||||
@item -mieee
|
@item -mieee
|
||||||
@opindex mieee
|
@opindex mieee
|
||||||
The Alpha architecture implements floating-point hardware optimized for
|
The Alpha architecture implements floating-point hardware optimized for
|
||||||
maximum performance. It is mostly compliant with the IEEE floating
|
maximum performance. It is mostly compliant with the IEEE floating-point
|
||||||
point standard. However, for full compliance, software assistance is
|
standard. However, for full compliance, software assistance is
|
||||||
required. This option generates code fully IEEE compliant code
|
required. This option generates code fully IEEE-compliant code
|
||||||
@emph{except} that the @var{inexact-flag} is not maintained (see below).
|
@emph{except} that the @var{inexact-flag} is not maintained (see below).
|
||||||
If this option is turned on, the preprocessor macro @code{_IEEE_FP} is
|
If this option is turned on, the preprocessor macro @code{_IEEE_FP} is
|
||||||
defined during compilation. The resulting code is less efficient but is
|
defined during compilation. The resulting code is less efficient but is
|
||||||
|
@ -12006,7 +12006,7 @@ of:
|
||||||
|
|
||||||
@table @samp
|
@table @samp
|
||||||
@item n
|
@item n
|
||||||
Normal IEEE rounding mode. Floating point numbers are rounded towards
|
Normal IEEE rounding mode. Floating-point numbers are rounded towards
|
||||||
the nearest machine number or towards the even machine number in case
|
the nearest machine number or towards the even machine number in case
|
||||||
of a tie.
|
of a tie.
|
||||||
|
|
||||||
|
@ -12014,10 +12014,10 @@ of a tie.
|
||||||
Round towards minus infinity.
|
Round towards minus infinity.
|
||||||
|
|
||||||
@item c
|
@item c
|
||||||
Chopped rounding mode. Floating point numbers are rounded towards zero.
|
Chopped rounding mode. Floating-point numbers are rounded towards zero.
|
||||||
|
|
||||||
@item d
|
@item d
|
||||||
Dynamic rounding mode. A field in the floating point control register
|
Dynamic rounding mode. A field in the floating-point control register
|
||||||
(@var{fpcr}, see Alpha architecture reference manual) controls the
|
(@var{fpcr}, see Alpha architecture reference manual) controls the
|
||||||
rounding mode in effect. The C library initializes this register for
|
rounding mode in effect. The C library initializes this register for
|
||||||
rounding towards plus infinity. Thus, unless your program modifies the
|
rounding towards plus infinity. Thus, unless your program modifies the
|
||||||
|
@ -12026,26 +12026,26 @@ rounding towards plus infinity. Thus, unless your program modifies the
|
||||||
|
|
||||||
@item -mtrap-precision=@var{trap-precision}
|
@item -mtrap-precision=@var{trap-precision}
|
||||||
@opindex mtrap-precision
|
@opindex mtrap-precision
|
||||||
In the Alpha architecture, floating point traps are imprecise. This
|
In the Alpha architecture, floating-point traps are imprecise. This
|
||||||
means without software assistance it is impossible to recover from a
|
means without software assistance it is impossible to recover from a
|
||||||
floating trap and program execution normally needs to be terminated.
|
floating trap and program execution normally needs to be terminated.
|
||||||
GCC can generate code that can assist operating system trap handlers
|
GCC can generate code that can assist operating system trap handlers
|
||||||
in determining the exact location that caused a floating point trap.
|
in determining the exact location that caused a floating-point trap.
|
||||||
Depending on the requirements of an application, different levels of
|
Depending on the requirements of an application, different levels of
|
||||||
precisions can be selected:
|
precisions can be selected:
|
||||||
|
|
||||||
@table @samp
|
@table @samp
|
||||||
@item p
|
@item p
|
||||||
Program precision. This option is the default and means a trap handler
|
Program precision. This option is the default and means a trap handler
|
||||||
can only identify which program caused a floating point exception.
|
can only identify which program caused a floating-point exception.
|
||||||
|
|
||||||
@item f
|
@item f
|
||||||
Function precision. The trap handler can determine the function that
|
Function precision. The trap handler can determine the function that
|
||||||
caused a floating point exception.
|
caused a floating-point exception.
|
||||||
|
|
||||||
@item i
|
@item i
|
||||||
Instruction precision. The trap handler can determine the exact
|
Instruction precision. The trap handler can determine the exact
|
||||||
instruction that caused a floating point exception.
|
instruction that caused a floating-point exception.
|
||||||
@end table
|
@end table
|
||||||
|
|
||||||
Other Alpha compilers provide the equivalent options called
|
Other Alpha compilers provide the equivalent options called
|
||||||
|
@ -12106,7 +12106,7 @@ of the CPU on which GCC was built if none was specified.
|
||||||
@itemx -mfloat-ieee
|
@itemx -mfloat-ieee
|
||||||
@opindex mfloat-vax
|
@opindex mfloat-vax
|
||||||
@opindex mfloat-ieee
|
@opindex mfloat-ieee
|
||||||
Generate code that uses (does not use) VAX F and G floating point
|
Generate code that uses (does not use) VAX F and G floating-point
|
||||||
arithmetic instead of IEEE single and double precision.
|
arithmetic instead of IEEE single and double precision.
|
||||||
|
|
||||||
@item -mexplicit-relocs
|
@item -mexplicit-relocs
|
||||||
|
@ -12285,32 +12285,32 @@ command line.
|
||||||
@item -mgpr-32
|
@item -mgpr-32
|
||||||
@opindex mgpr-32
|
@opindex mgpr-32
|
||||||
|
|
||||||
Only use the first 32 general purpose registers.
|
Only use the first 32 general-purpose registers.
|
||||||
|
|
||||||
@item -mgpr-64
|
@item -mgpr-64
|
||||||
@opindex mgpr-64
|
@opindex mgpr-64
|
||||||
|
|
||||||
Use all 64 general purpose registers.
|
Use all 64 general-purpose registers.
|
||||||
|
|
||||||
@item -mfpr-32
|
@item -mfpr-32
|
||||||
@opindex mfpr-32
|
@opindex mfpr-32
|
||||||
|
|
||||||
Use only the first 32 floating point registers.
|
Use only the first 32 floating-point registers.
|
||||||
|
|
||||||
@item -mfpr-64
|
@item -mfpr-64
|
||||||
@opindex mfpr-64
|
@opindex mfpr-64
|
||||||
|
|
||||||
Use all 64 floating point registers
|
Use all 64 floating-point registers.
|
||||||
|
|
||||||
@item -mhard-float
|
@item -mhard-float
|
||||||
@opindex mhard-float
|
@opindex mhard-float
|
||||||
|
|
||||||
Use hardware instructions for floating point operations.
|
Use hardware instructions for floating-point operations.
|
||||||
|
|
||||||
@item -msoft-float
|
@item -msoft-float
|
||||||
@opindex msoft-float
|
@opindex msoft-float
|
||||||
|
|
||||||
Use library routines for floating point operations.
|
Use library routines for floating-point operations.
|
||||||
|
|
||||||
@item -malloc-cc
|
@item -malloc-cc
|
||||||
@opindex malloc-cc
|
@opindex malloc-cc
|
||||||
|
@ -12336,12 +12336,12 @@ Do not use double word instructions.
|
||||||
@item -mdouble
|
@item -mdouble
|
||||||
@opindex mdouble
|
@opindex mdouble
|
||||||
|
|
||||||
Use floating point double instructions.
|
Use floating-point double instructions.
|
||||||
|
|
||||||
@item -mno-double
|
@item -mno-double
|
||||||
@opindex mno-double
|
@opindex mno-double
|
||||||
|
|
||||||
Do not use floating point double instructions.
|
Do not use floating-point double instructions.
|
||||||
|
|
||||||
@item -mmedia
|
@item -mmedia
|
||||||
@opindex mmedia
|
@opindex mmedia
|
||||||
|
@ -12715,10 +12715,10 @@ of the conditional jump.
|
||||||
|
|
||||||
@item -mdisable-fpregs
|
@item -mdisable-fpregs
|
||||||
@opindex mdisable-fpregs
|
@opindex mdisable-fpregs
|
||||||
Prevent floating point registers from being used in any manner. This is
|
Prevent floating-point registers from being used in any manner. This is
|
||||||
necessary for compiling kernels which perform lazy context switching of
|
necessary for compiling kernels that perform lazy context switching of
|
||||||
floating point registers. If you use this option and attempt to perform
|
floating-point registers. If you use this option and attempt to perform
|
||||||
floating point operations, the compiler will abort.
|
floating-point operations, the compiler aborts.
|
||||||
|
|
||||||
@item -mdisable-indexing
|
@item -mdisable-indexing
|
||||||
@opindex mdisable-indexing
|
@opindex mdisable-indexing
|
||||||
|
@ -13052,27 +13052,27 @@ A deprecated synonym for @option{-mtune}.
|
||||||
|
|
||||||
@item -mfpmath=@var{unit}
|
@item -mfpmath=@var{unit}
|
||||||
@opindex mfpmath
|
@opindex mfpmath
|
||||||
Generate floating point arithmetics for selected unit @var{unit}. The choices
|
Generate floating-point arithmetic for selected unit @var{unit}. The choices
|
||||||
for @var{unit} are:
|
for @var{unit} are:
|
||||||
|
|
||||||
@table @samp
|
@table @samp
|
||||||
@item 387
|
@item 387
|
||||||
Use the standard 387 floating point coprocessor present majority of chips and
|
Use the standard 387 floating-point coprocessor present on the majority of chips and
|
||||||
emulated otherwise. Code compiled with this option will run almost everywhere.
|
emulated otherwise. Code compiled with this option runs almost everywhere.
|
||||||
The temporary results are computed in 80bit precision instead of precision
|
The temporary results are computed in 80-bit precision instead of the precision
|
||||||
specified by the type resulting in slightly different results compared to most
|
specified by the type, resulting in slightly different results compared to most
|
||||||
of other chips. See @option{-ffloat-store} for more detailed description.
|
of other chips. See @option{-ffloat-store} for more detailed description.
|
||||||
|
|
||||||
This is the default choice for i386 compiler.
|
This is the default choice for i386 compiler.
|
||||||
|
|
||||||
@item sse
|
@item sse
|
||||||
Use scalar floating point instructions present in the SSE instruction set.
|
Use scalar floating-point instructions present in the SSE instruction set.
|
||||||
This instruction set is supported by Pentium3 and newer chips, in the AMD line
|
This instruction set is supported by Pentium3 and newer chips, in the AMD line
|
||||||
by Athlon-4, Athlon-xp and Athlon-mp chips. The earlier version of SSE
|
by Athlon-4, Athlon-xp and Athlon-mp chips. The earlier version of SSE
|
||||||
instruction set supports only single precision arithmetics, thus the double and
|
instruction set supports only single-precision arithmetic, thus the double and
|
||||||
extended precision arithmetics is still done using 387. Later version, present
|
extended-precision arithmetic are still done using 387. A later version, present
|
||||||
only in Pentium4 and the future AMD x86-64 chips supports double precision
|
only in Pentium4 and the future AMD x86-64 chips, supports double-precision
|
||||||
arithmetics too.
|
arithmetic too.
|
||||||
|
|
||||||
For the i386 compiler, you need to use @option{-march=@var{cpu-type}}, @option{-msse}
|
For the i386 compiler, you need to use @option{-march=@var{cpu-type}}, @option{-msse}
|
||||||
or @option{-msse2} switches to enable SSE extensions and make this option
|
or @option{-msse2} switches to enable SSE extensions and make this option
|
||||||
|
@ -13104,7 +13104,7 @@ not support @samp{intel}.
|
||||||
@itemx -mno-ieee-fp
|
@itemx -mno-ieee-fp
|
||||||
@opindex mieee-fp
|
@opindex mieee-fp
|
||||||
@opindex mno-ieee-fp
|
@opindex mno-ieee-fp
|
||||||
Control whether or not the compiler uses IEEE floating point
|
Control whether or not the compiler uses IEEE floating-point
|
||||||
comparisons. These handle correctly the case where the result of a
|
comparisons. These handle correctly the case where the result of a
|
||||||
comparison is unordered.
|
comparison is unordered.
|
||||||
|
|
||||||
|
@ -13117,8 +13117,8 @@ this can't be done directly in cross-compilation. You must make your
|
||||||
own arrangements to provide suitable library functions for
|
own arrangements to provide suitable library functions for
|
||||||
cross-compilation.
|
cross-compilation.
|
||||||
|
|
||||||
On machines where a function returns floating point results in the 80387
|
On machines where a function returns floating-point results in the 80387
|
||||||
register stack, some floating point opcodes may be emitted even if
|
register stack, some floating-point opcodes may be emitted even if
|
||||||
@option{-msoft-float} is used.
|
@option{-msoft-float} is used.
|
||||||
|
|
||||||
@item -mno-fp-ret-in-387
|
@item -mno-fp-ret-in-387
|
||||||
|
@ -13274,7 +13274,7 @@ control word explicitly.
|
||||||
|
|
||||||
Setting the rounding of floating-point operations to less than the default
|
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
|
80 bits can speed some programs by 2% or more. Note that some mathematical
|
||||||
libraries assume that extended precision (80 bit) floating-point operations
|
libraries assume that extended-precision (80-bit) floating-point operations
|
||||||
are enabled by default; routines in such libraries could suffer significant
|
are enabled by default; routines in such libraries could suffer significant
|
||||||
loss of accuracy, typically through so-called "catastrophic cancellation",
|
loss of accuracy, typically through so-called "catastrophic cancellation",
|
||||||
when this option is used to set the precision to less than extended precision.
|
when this option is used to set the precision to less than extended precision.
|
||||||
|
@ -13459,7 +13459,7 @@ This option will enable built-in functions, @code{__builtin_ia32_crc32qi},
|
||||||
This option will enable GCC to use RCPSS and RSQRTSS instructions (and their
|
This option will enable GCC to use RCPSS and RSQRTSS instructions (and their
|
||||||
vectorized variants RCPPS and RSQRTPS) with an additional Newton-Raphson step
|
vectorized variants RCPPS and RSQRTPS) with an additional Newton-Raphson step
|
||||||
to increase precision instead of DIVSS and SQRTSS (and their vectorized
|
to increase precision instead of DIVSS and SQRTSS (and their vectorized
|
||||||
variants) for single precision floating point arguments. These instructions
|
variants) for single-precision floating-point arguments. These instructions
|
||||||
are generated only when @option{-funsafe-math-optimizations} is enabled
|
are generated only when @option{-funsafe-math-optimizations} is enabled
|
||||||
together with @option{-finite-math-only} and @option{-fno-trapping-math}.
|
together with @option{-finite-math-only} and @option{-fno-trapping-math}.
|
||||||
Note that while the throughput of the sequence is higher than the throughput
|
Note that while the throughput of the sequence is higher than the throughput
|
||||||
|
@ -13471,7 +13471,7 @@ Note that GCC implements @code{1.0f/sqrtf(@var{x})} in terms of RSQRTSS
|
||||||
combination), and doesn't need @option{-mrecip}.
|
combination), and doesn't need @option{-mrecip}.
|
||||||
|
|
||||||
Also note that GCC emits the above sequence with additional Newton-Raphson step
|
Also note that GCC emits the above sequence with additional Newton-Raphson step
|
||||||
for vectorized single float division and vectorized @code{sqrtf(@var{x})}
|
for vectorized single-float division and vectorized @code{sqrtf(@var{x})}
|
||||||
already with @option{-ffast-math} (or the above option combination), and
|
already with @option{-ffast-math} (or the above option combination), and
|
||||||
doesn't need @option{-mrecip}.
|
doesn't need @option{-mrecip}.
|
||||||
|
|
||||||
|
@ -13830,17 +13830,17 @@ This is useful when compiling firmware code.
|
||||||
|
|
||||||
@item -minline-float-divide-min-latency
|
@item -minline-float-divide-min-latency
|
||||||
@opindex minline-float-divide-min-latency
|
@opindex minline-float-divide-min-latency
|
||||||
Generate code for inline divides of floating point values
|
Generate code for inline divides of floating-point values
|
||||||
using the minimum latency algorithm.
|
using the minimum latency algorithm.
|
||||||
|
|
||||||
@item -minline-float-divide-max-throughput
|
@item -minline-float-divide-max-throughput
|
||||||
@opindex minline-float-divide-max-throughput
|
@opindex minline-float-divide-max-throughput
|
||||||
Generate code for inline divides of floating point values
|
Generate code for inline divides of floating-point values
|
||||||
using the maximum throughput algorithm.
|
using the maximum throughput algorithm.
|
||||||
|
|
||||||
@item -mno-inline-float-divide
|
@item -mno-inline-float-divide
|
||||||
@opindex mno-inline-float-divide
|
@opindex mno-inline-float-divide
|
||||||
Do not generate inline code for divides of floating point values.
|
Do not generate inline code for divides of floating-point values.
|
||||||
|
|
||||||
@item -minline-int-divide-min-latency
|
@item -minline-int-divide-min-latency
|
||||||
@opindex minline-int-divide-min-latency
|
@opindex minline-int-divide-min-latency
|
||||||
|
@ -14438,7 +14438,7 @@ in favor of the equivalent @option{-mcpu=5407}.
|
||||||
@item -mcfv4e
|
@item -mcfv4e
|
||||||
@opindex mcfv4e
|
@opindex mcfv4e
|
||||||
Generate output for a ColdFire V4e family CPU (e.g.@: 547x/548x).
|
Generate output for a ColdFire V4e family CPU (e.g.@: 547x/548x).
|
||||||
This includes use of hardware floating point instructions.
|
This includes use of hardware floating-point instructions.
|
||||||
The option is equivalent to @option{-mcpu=547x}, and is now
|
The option is equivalent to @option{-mcpu=547x}, and is now
|
||||||
deprecated in favor of that option.
|
deprecated in favor of that option.
|
||||||
|
|
||||||
|
@ -14883,7 +14883,7 @@ Use software emulation for floating point (default).
|
||||||
|
|
||||||
@item -mhard-float
|
@item -mhard-float
|
||||||
@opindex mhard-float
|
@opindex mhard-float
|
||||||
Use hardware floating point instructions.
|
Use hardware floating-point instructions.
|
||||||
|
|
||||||
@item -mmemcpy
|
@item -mmemcpy
|
||||||
@opindex mmemcpy
|
@opindex mmemcpy
|
||||||
|
@ -14935,11 +14935,11 @@ Use multiply high instructions for high part of 32x32 multiply.
|
||||||
|
|
||||||
@item -mxl-float-convert
|
@item -mxl-float-convert
|
||||||
@opindex mxl-float-convert
|
@opindex mxl-float-convert
|
||||||
Use hardware floating point conversion instructions.
|
Use hardware floating-point conversion instructions.
|
||||||
|
|
||||||
@item -mxl-float-sqrt
|
@item -mxl-float-sqrt
|
||||||
@opindex mxl-float-sqrt
|
@opindex mxl-float-sqrt
|
||||||
Use hardware floating point square root instruction.
|
Use hardware floating-point square root instruction.
|
||||||
|
|
||||||
@item -mxl-mode-@var{app-model}
|
@item -mxl-mode-@var{app-model}
|
||||||
Select application model @var{app-model}. Valid models are
|
Select application model @var{app-model}. Valid models are
|
||||||
|
@ -15541,7 +15541,7 @@ instructions, as provided by the R4650 ISA@.
|
||||||
@itemx -mno-fused-madd
|
@itemx -mno-fused-madd
|
||||||
@opindex mfused-madd
|
@opindex mfused-madd
|
||||||
@opindex mno-fused-madd
|
@opindex mno-fused-madd
|
||||||
Enable (disable) use of the floating point multiply-accumulate
|
Enable (disable) use of the floating-point multiply-accumulate
|
||||||
instructions, when they are available. The default is
|
instructions, when they are available. The default is
|
||||||
@option{-mfused-madd}.
|
@option{-mfused-madd}.
|
||||||
|
|
||||||
|
@ -15637,7 +15637,7 @@ instructions are available instead.
|
||||||
@opindex mfix-sb1
|
@opindex mfix-sb1
|
||||||
Work around certain SB-1 CPU core errata.
|
Work around certain SB-1 CPU core errata.
|
||||||
(This flag currently works around the SB-1 revision 2
|
(This flag currently works around the SB-1 revision 2
|
||||||
``F1'' and ``F2'' floating point errata.)
|
``F1'' and ``F2'' floating-point errata.)
|
||||||
|
|
||||||
@item -mr10k-cache-barrier=@var{setting}
|
@item -mr10k-cache-barrier=@var{setting}
|
||||||
@opindex mr10k-cache-barrier
|
@opindex mr10k-cache-barrier
|
||||||
|
@ -16257,7 +16257,7 @@ condition register field instruction implemented on the POWER4
|
||||||
processor and other processors that support the PowerPC V2.01
|
processor and other processors that support the PowerPC V2.01
|
||||||
architecture.
|
architecture.
|
||||||
The @option{-mpopcntb} option allows GCC to generate the popcount and
|
The @option{-mpopcntb} option allows GCC to generate the popcount and
|
||||||
double precision FP reciprocal estimate instruction implemented on the
|
double-precision FP reciprocal estimate instruction implemented on the
|
||||||
POWER5 processor and other processors that support the PowerPC V2.02
|
POWER5 processor and other processors that support the PowerPC V2.02
|
||||||
architecture.
|
architecture.
|
||||||
The @option{-mpopcntd} option allows GCC to generate the popcount
|
The @option{-mpopcntd} option allows GCC to generate the popcount
|
||||||
|
@ -16270,11 +16270,11 @@ The @option{-mcmpb} option allows GCC to generate the compare bytes
|
||||||
instruction implemented on the POWER6 processor and other processors
|
instruction implemented on the POWER6 processor and other processors
|
||||||
that support the PowerPC V2.05 architecture.
|
that support the PowerPC V2.05 architecture.
|
||||||
The @option{-mmfpgpr} option allows GCC to generate the FP move to/from
|
The @option{-mmfpgpr} option allows GCC to generate the FP move to/from
|
||||||
general purpose register instructions implemented on the POWER6X
|
general-purpose register instructions implemented on the POWER6X
|
||||||
processor and other processors that support the extended PowerPC V2.05
|
processor and other processors that support the extended PowerPC V2.05
|
||||||
architecture.
|
architecture.
|
||||||
The @option{-mhard-dfp} option allows GCC to generate the decimal floating
|
The @option{-mhard-dfp} option allows GCC to generate the decimal
|
||||||
point instructions implemented on some POWER processors.
|
floating-point instructions implemented on some POWER processors.
|
||||||
|
|
||||||
The @option{-mpowerpc64} option allows GCC to generate the additional
|
The @option{-mpowerpc64} option allows GCC to generate the additional
|
||||||
64-bit instructions that are found in the full PowerPC64 architecture
|
64-bit instructions that are found in the full PowerPC64 architecture
|
||||||
|
@ -16460,18 +16460,18 @@ more direct access to the VSX instruction set.
|
||||||
@item -mfloat-gprs=@var{yes/single/double/no}
|
@item -mfloat-gprs=@var{yes/single/double/no}
|
||||||
@itemx -mfloat-gprs
|
@itemx -mfloat-gprs
|
||||||
@opindex mfloat-gprs
|
@opindex mfloat-gprs
|
||||||
This switch enables or disables the generation of floating point
|
This switch enables or disables the generation of floating-point
|
||||||
operations on the general purpose registers for architectures that
|
operations on the general-purpose registers for architectures that
|
||||||
support it.
|
support it.
|
||||||
|
|
||||||
The argument @var{yes} or @var{single} enables the use of
|
The argument @var{yes} or @var{single} enables the use of
|
||||||
single-precision floating point operations.
|
single-precision floating-point operations.
|
||||||
|
|
||||||
The argument @var{double} enables the use of single and
|
The argument @var{double} enables the use of single and
|
||||||
double-precision floating point operations.
|
double-precision floating-point operations.
|
||||||
|
|
||||||
The argument @var{no} disables floating point operations on the
|
The argument @var{no} disables floating-point operations on the
|
||||||
general purpose registers.
|
general-purpose registers.
|
||||||
|
|
||||||
This option is currently only available on the MPC854x.
|
This option is currently only available on the MPC854x.
|
||||||
|
|
||||||
|
@ -16543,7 +16543,7 @@ support routines.
|
||||||
The AIX calling convention was extended but not initially documented to
|
The AIX calling convention was extended but not initially documented to
|
||||||
handle an obscure K&R C case of calling a function that takes the
|
handle an obscure K&R C case of calling a function that takes the
|
||||||
address of its arguments with fewer arguments than declared. IBM XL
|
address of its arguments with fewer arguments than declared. IBM XL
|
||||||
compilers access floating point arguments which do not fit in the
|
compilers access floating-point arguments that do not fit in the
|
||||||
RSA from the stack when a subroutine is compiled without
|
RSA from the stack when a subroutine is compiled without
|
||||||
optimization. Because always storing floating-point arguments on the
|
optimization. Because always storing floating-point arguments on the
|
||||||
stack is inefficient and rarely needed, this option is not enabled by
|
stack is inefficient and rarely needed, this option is not enabled by
|
||||||
|
@ -16579,30 +16579,30 @@ is not supported.
|
||||||
@opindex msoft-float
|
@opindex msoft-float
|
||||||
@opindex mhard-float
|
@opindex mhard-float
|
||||||
Generate code that does not use (uses) the floating-point register set.
|
Generate code that does not use (uses) the floating-point register set.
|
||||||
Software floating point emulation is provided if you use the
|
Software floating-point emulation is provided if you use the
|
||||||
@option{-msoft-float} option, and pass the option to GCC when linking.
|
@option{-msoft-float} option, and pass the option to GCC when linking.
|
||||||
|
|
||||||
@item -msingle-float
|
@item -msingle-float
|
||||||
@itemx -mdouble-float
|
@itemx -mdouble-float
|
||||||
@opindex msingle-float
|
@opindex msingle-float
|
||||||
@opindex mdouble-float
|
@opindex mdouble-float
|
||||||
Generate code for single or double-precision floating point operations.
|
Generate code for single- or double-precision floating-point operations.
|
||||||
@option{-mdouble-float} implies @option{-msingle-float}.
|
@option{-mdouble-float} implies @option{-msingle-float}.
|
||||||
|
|
||||||
@item -msimple-fpu
|
@item -msimple-fpu
|
||||||
@opindex msimple-fpu
|
@opindex msimple-fpu
|
||||||
Do not generate sqrt and div instructions for hardware floating point unit.
|
Do not generate sqrt and div instructions for hardware floating-point unit.
|
||||||
|
|
||||||
@item -mfpu
|
@item -mfpu
|
||||||
@opindex mfpu
|
@opindex mfpu
|
||||||
Specify type of floating point unit. Valid values are @var{sp_lite}
|
Specify type of floating-point unit. Valid values are @var{sp_lite}
|
||||||
(equivalent to -msingle-float -msimple-fpu), @var{dp_lite} (equivalent
|
(equivalent to -msingle-float -msimple-fpu), @var{dp_lite} (equivalent
|
||||||
to -mdouble-float -msimple-fpu), @var{sp_full} (equivalent to -msingle-float),
|
to -mdouble-float -msimple-fpu), @var{sp_full} (equivalent to -msingle-float),
|
||||||
and @var{dp_full} (equivalent to -mdouble-float).
|
and @var{dp_full} (equivalent to -mdouble-float).
|
||||||
|
|
||||||
@item -mxilinx-fpu
|
@item -mxilinx-fpu
|
||||||
@opindex mxilinx-fpu
|
@opindex mxilinx-fpu
|
||||||
Perform optimizations for floating point unit on Xilinx PPC 405/440.
|
Perform optimizations for the floating-point unit on Xilinx PPC 405/440.
|
||||||
|
|
||||||
@item -mmultiple
|
@item -mmultiple
|
||||||
@itemx -mno-multiple
|
@itemx -mno-multiple
|
||||||
|
@ -16655,10 +16655,10 @@ is enabled by default when targetting Power6 and disabled otherwise.
|
||||||
@itemx -mno-fused-madd
|
@itemx -mno-fused-madd
|
||||||
@opindex mfused-madd
|
@opindex mfused-madd
|
||||||
@opindex mno-fused-madd
|
@opindex mno-fused-madd
|
||||||
Generate code that uses (does not use) the floating point multiply and
|
Generate code that uses (does not use) the floating-point multiply and
|
||||||
accumulate instructions. These instructions are generated by default
|
accumulate instructions. These instructions are generated by default
|
||||||
if hardware floating point is used. The machine dependent
|
if hardware floating point is used. The machine-dependent
|
||||||
@option{-mfused-madd} option is now mapped to the machine independent
|
@option{-mfused-madd} option is now mapped to the machine-independent
|
||||||
@option{-ffp-contract=fast} option, and @option{-mno-fused-madd} is
|
@option{-ffp-contract=fast} option, and @option{-mno-fused-madd} is
|
||||||
mapped to @option{-ffp-contract=off}.
|
mapped to @option{-ffp-contract=off}.
|
||||||
|
|
||||||
|
@ -16864,12 +16864,12 @@ Disable Booke SPE ABI extensions for the current ABI@.
|
||||||
|
|
||||||
@item -mabi=ibmlongdouble
|
@item -mabi=ibmlongdouble
|
||||||
@opindex mabi=ibmlongdouble
|
@opindex mabi=ibmlongdouble
|
||||||
Change the current ABI to use IBM extended precision long double.
|
Change the current ABI to use IBM extended-precision long double.
|
||||||
This is a PowerPC 32-bit SYSV ABI option.
|
This is a PowerPC 32-bit SYSV ABI option.
|
||||||
|
|
||||||
@item -mabi=ieeelongdouble
|
@item -mabi=ieeelongdouble
|
||||||
@opindex mabi=ieeelongdouble
|
@opindex mabi=ieeelongdouble
|
||||||
Change the current ABI to use IEEE extended precision long double.
|
Change the current ABI to use IEEE extended-precision long double.
|
||||||
This is a PowerPC 32-bit Linux ABI option.
|
This is a PowerPC 32-bit Linux ABI option.
|
||||||
|
|
||||||
@item -mprototype
|
@item -mprototype
|
||||||
|
@ -16880,8 +16880,8 @@ On System V.4 and embedded PowerPC systems assume that all calls to
|
||||||
variable argument functions are properly prototyped. Otherwise, the
|
variable argument functions are properly prototyped. Otherwise, the
|
||||||
compiler must insert an instruction before every non prototyped call to
|
compiler must insert an instruction before every non prototyped call to
|
||||||
set or clear bit 6 of the condition code register (@var{CR}) to
|
set or clear bit 6 of the condition code register (@var{CR}) to
|
||||||
indicate whether floating point values were passed in the floating point
|
indicate whether floating-point values were passed in the floating-point
|
||||||
registers in case the function takes a variable arguments. With
|
registers in case the function takes variable arguments. With
|
||||||
@option{-mprototype}, only calls to prototyped variable argument functions
|
@option{-mprototype}, only calls to prototyped variable argument functions
|
||||||
will set or clear the bit.
|
will set or clear the bit.
|
||||||
|
|
||||||
|
@ -17062,7 +17062,7 @@ This option sets flags for both the preprocessor and linker.
|
||||||
This option will enable GCC to use the reciprocal estimate and
|
This option will enable GCC to use the reciprocal estimate and
|
||||||
reciprocal square root estimate instructions with additional
|
reciprocal square root estimate instructions with additional
|
||||||
Newton-Raphson steps to increase precision instead of doing a divide or
|
Newton-Raphson steps to increase precision instead of doing a divide or
|
||||||
square root and divide for floating point arguments. You should use
|
square root and divide for floating-point arguments. You should use
|
||||||
the @option{-ffast-math} option when using @option{-mrecip} (or at
|
the @option{-ffast-math} option when using @option{-mrecip} (or at
|
||||||
least @option{-funsafe-math-optimizations},
|
least @option{-funsafe-math-optimizations},
|
||||||
@option{-finite-math-only}, @option{-freciprocal-math} and
|
@option{-finite-math-only}, @option{-freciprocal-math} and
|
||||||
|
@ -17081,26 +17081,26 @@ be preceded by a @code{!} to invert the option:
|
||||||
@code{default}: enable the default instructions, equivalent to @option{-mrecip},
|
@code{default}: enable the default instructions, equivalent to @option{-mrecip},
|
||||||
@code{none}: disable all estimate instructions, equivalent to @option{-mno-recip};
|
@code{none}: disable all estimate instructions, equivalent to @option{-mno-recip};
|
||||||
@code{div}: enable the reciprocal approximation instructions for both single and double precision;
|
@code{div}: enable the reciprocal approximation instructions for both single and double precision;
|
||||||
@code{divf}: enable the single precision reciprocal approximation instructions;
|
@code{divf}: enable the single-precision reciprocal approximation instructions;
|
||||||
@code{divd}: enable the double precision reciprocal approximation instructions;
|
@code{divd}: enable the double-precision reciprocal approximation instructions;
|
||||||
@code{rsqrt}: enable the reciprocal square root approximation instructions for both single and double precision;
|
@code{rsqrt}: enable the reciprocal square root approximation instructions for both single and double precision;
|
||||||
@code{rsqrtf}: enable the single precision reciprocal square root approximation instructions;
|
@code{rsqrtf}: enable the single-precision reciprocal square root approximation instructions;
|
||||||
@code{rsqrtd}: enable the double precision reciprocal square root approximation instructions;
|
@code{rsqrtd}: enable the double-precision reciprocal square root approximation instructions;
|
||||||
|
|
||||||
So for example, @option{-mrecip=all,!rsqrtd} would enable the
|
So for example, @option{-mrecip=all,!rsqrtd} would enable the
|
||||||
all of the reciprocal estimate instructions, except for the
|
all of the reciprocal estimate instructions, except for the
|
||||||
@code{FRSQRTE}, @code{XSRSQRTEDP}, and @code{XVRSQRTEDP} instructions
|
@code{FRSQRTE}, @code{XSRSQRTEDP}, and @code{XVRSQRTEDP} instructions
|
||||||
which handle the double precision reciprocal square root calculations.
|
which handle the double-precision reciprocal square root calculations.
|
||||||
|
|
||||||
@item -mrecip-precision
|
@item -mrecip-precision
|
||||||
@itemx -mno-recip-precision
|
@itemx -mno-recip-precision
|
||||||
@opindex mrecip-precision
|
@opindex mrecip-precision
|
||||||
Assume (do not assume) that the reciprocal estimate instructions
|
Assume (do not assume) that the reciprocal estimate instructions
|
||||||
provide higher precision estimates than is mandated by the powerpc
|
provide higher-precision estimates than is mandated by the PowerPC
|
||||||
ABI. Selecting @option{-mcpu=power6} or @option{-mcpu=power7}
|
ABI. Selecting @option{-mcpu=power6} or @option{-mcpu=power7}
|
||||||
automatically selects @option{-mrecip-precision}. The double
|
automatically selects @option{-mrecip-precision}. The double-precision
|
||||||
precision square root estimate instructions are not generated by
|
square root estimate instructions are not generated by
|
||||||
default on low precision machines, since they do not provide an
|
default on low-precision machines, since they do not provide an
|
||||||
estimate that converges after three steps.
|
estimate that converges after three steps.
|
||||||
|
|
||||||
@item -mveclibabi=@var{type}
|
@item -mveclibabi=@var{type}
|
||||||
|
@ -17132,9 +17132,9 @@ libraries will have to be specified at link time.
|
||||||
@opindex mfriz
|
@opindex mfriz
|
||||||
Generate (do not generate) the @code{friz} instruction when the
|
Generate (do not generate) the @code{friz} instruction when the
|
||||||
@option{-funsafe-math-optimizations} option is used to optimize
|
@option{-funsafe-math-optimizations} option is used to optimize
|
||||||
rounding a floating point value to 64-bit integer and back to floating
|
rounding of floating-point values to 64-bit integer and back to floating
|
||||||
point. The @code{friz} instruction does not return the same value if
|
point. The @code{friz} instruction does not return the same value if
|
||||||
the floating point number is too large to fit in an integer.
|
the floating-point number is too large to fit in an integer.
|
||||||
|
|
||||||
@item -mpointers-to-nested-functions
|
@item -mpointers-to-nested-functions
|
||||||
@itemx -mno-pointers-to-nested-functions
|
@itemx -mno-pointers-to-nested-functions
|
||||||
|
@ -17170,9 +17170,9 @@ These command-line options are defined for RX targets:
|
||||||
@itemx -m32bit-doubles
|
@itemx -m32bit-doubles
|
||||||
@opindex m64bit-doubles
|
@opindex m64bit-doubles
|
||||||
@opindex m32bit-doubles
|
@opindex m32bit-doubles
|
||||||
Make the @code{double} data type be 64-bits (@option{-m64bit-doubles})
|
Make the @code{double} data type be 64 bits (@option{-m64bit-doubles})
|
||||||
or 32-bits (@option{-m32bit-doubles}) in size. The default is
|
or 32 bits (@option{-m32bit-doubles}) in size. The default is
|
||||||
@option{-m32bit-doubles}. @emph{Note} RX floating point hardware only
|
@option{-m32bit-doubles}. @emph{Note} RX floating-point hardware only
|
||||||
works on 32-bit values, which is why the default is
|
works on 32-bit values, which is why the default is
|
||||||
@option{-m32bit-doubles}.
|
@option{-m32bit-doubles}.
|
||||||
|
|
||||||
|
@ -17181,11 +17181,11 @@ works on 32-bit values, which is why the default is
|
||||||
@opindex fpu
|
@opindex fpu
|
||||||
@opindex nofpu
|
@opindex nofpu
|
||||||
Enables (@option{-fpu}) or disables (@option{-nofpu}) the use of RX
|
Enables (@option{-fpu}) or disables (@option{-nofpu}) the use of RX
|
||||||
floating point hardware. The default is enabled for the @var{RX600}
|
floating-point hardware. The default is enabled for the @var{RX600}
|
||||||
series and disabled for the @var{RX200} series.
|
series and disabled for the @var{RX200} series.
|
||||||
|
|
||||||
Floating point instructions will only be generated for 32-bit floating
|
Floating-point instructions will only be generated for 32-bit floating-point
|
||||||
point values however, so if the @option{-m64bit-doubles} option is in
|
values however, so if the @option{-m64bit-doubles} option is in
|
||||||
use then the FPU hardware will not be used for doubles.
|
use then the FPU hardware will not be used for doubles.
|
||||||
|
|
||||||
@emph{Note} If the @option{-fpu} option is enabled then
|
@emph{Note} If the @option{-fpu} option is enabled then
|
||||||
|
@ -17201,7 +17201,7 @@ the specific @var{RX610} CPU. The default is @var{RX600}.
|
||||||
The only difference between @var{RX600} and @var{RX610} is that the
|
The only difference between @var{RX600} and @var{RX610} is that the
|
||||||
@var{RX610} does not support the @code{MVTIPL} instruction.
|
@var{RX610} does not support the @code{MVTIPL} instruction.
|
||||||
|
|
||||||
The @var{RX200} series does not have a hardware floating point unit
|
The @var{RX200} series does not have a hardware floating-point unit
|
||||||
and so @option{-nofpu} is enabled by default when this type is
|
and so @option{-nofpu} is enabled by default when this type is
|
||||||
selected.
|
selected.
|
||||||
|
|
||||||
|
@ -17495,7 +17495,7 @@ when compiling for the TPF OS@.
|
||||||
@itemx -mno-fused-madd
|
@itemx -mno-fused-madd
|
||||||
@opindex mfused-madd
|
@opindex mfused-madd
|
||||||
@opindex mno-fused-madd
|
@opindex mno-fused-madd
|
||||||
Generate code that uses (does not use) the floating point multiply and
|
Generate code that uses (does not use) the floating-point multiply and
|
||||||
accumulate instructions. These instructions are generated by default if
|
accumulate instructions. These instructions are generated by default if
|
||||||
hardware floating point is used.
|
hardware floating point is used.
|
||||||
|
|
||||||
|
@ -17600,7 +17600,7 @@ that the floating-point unit is not used.
|
||||||
@item -m2a-single-only
|
@item -m2a-single-only
|
||||||
@opindex m2a-single-only
|
@opindex m2a-single-only
|
||||||
Generate code for the SH2a-FPU, in such a way that no double-precision
|
Generate code for the SH2a-FPU, in such a way that no double-precision
|
||||||
floating point operations are used.
|
floating-point operations are used.
|
||||||
|
|
||||||
@item -m2a-single
|
@item -m2a-single
|
||||||
@opindex m2a-single
|
@opindex m2a-single
|
||||||
|
@ -17646,7 +17646,7 @@ floating-point unit is not used.
|
||||||
@item -m4a-single-only
|
@item -m4a-single-only
|
||||||
@opindex m4a-single-only
|
@opindex m4a-single-only
|
||||||
Generate code for the SH4a, in such a way that no double-precision
|
Generate code for the SH4a, in such a way that no double-precision
|
||||||
floating point operations are used.
|
floating-point operations are used.
|
||||||
|
|
||||||
@item -m4a-single
|
@item -m4a-single
|
||||||
@opindex m4a-single
|
@opindex m4a-single
|
||||||
|
@ -17717,11 +17717,11 @@ Mark the @code{MAC} register as call-clobbered, even if
|
||||||
|
|
||||||
@item -mieee
|
@item -mieee
|
||||||
@opindex mieee
|
@opindex mieee
|
||||||
Increase IEEE-compliance of floating-point code.
|
Increase IEEE compliance of floating-point code.
|
||||||
At the moment, this is equivalent to @option{-fno-finite-math-only}.
|
At the moment, this is equivalent to @option{-fno-finite-math-only}.
|
||||||
When generating 16 bit SH opcodes, getting IEEE-conforming results for
|
When generating 16 bit SH opcodes, getting IEEE-conforming results for
|
||||||
comparisons of NANs / infinities incurs extra overhead in every
|
comparisons of NANs / infinities incurs extra overhead in every
|
||||||
floating point comparison, therefore the default is set to
|
floating-point comparison, therefore the default is set to
|
||||||
@option{-ffinite-math-only}.
|
@option{-ffinite-math-only}.
|
||||||
|
|
||||||
@item -minline-ic_invalidate
|
@item -minline-ic_invalidate
|
||||||
|
@ -17777,9 +17777,9 @@ one of: call, call2, fp, inv, inv:minlat, inv20u, inv20l, inv:call,
|
||||||
inv:call2, inv:fp .
|
inv:call2, inv:fp .
|
||||||
"fp" performs the operation in floating point. This has a very high latency,
|
"fp" performs the operation in floating point. This has a very high latency,
|
||||||
but needs only a few instructions, so it might be a good choice if
|
but needs only a few instructions, so it might be a good choice if
|
||||||
your code has enough easily exploitable ILP to allow the compiler to
|
your code has enough easily-exploitable ILP to allow the compiler to
|
||||||
schedule the floating point instructions together with other instructions.
|
schedule the floating-point instructions together with other instructions.
|
||||||
Division by zero causes a floating point exception.
|
Division by zero causes a floating-point exception.
|
||||||
"inv" uses integer operations to calculate the inverse of the divisor,
|
"inv" uses integer operations to calculate the inverse of the divisor,
|
||||||
and then multiplies the dividend with the inverse. This strategy allows
|
and then multiplies the dividend with the inverse. This strategy allows
|
||||||
cse and hoisting of the inverse calculation. Division by zero calculates
|
cse and hoisting of the inverse calculation. Division by zero calculates
|
||||||
|
@ -17956,7 +17956,7 @@ instructions (except for leaf functions). This is the normal operating mode.
|
||||||
@itemx -mhard-float
|
@itemx -mhard-float
|
||||||
@opindex mfpu
|
@opindex mfpu
|
||||||
@opindex mhard-float
|
@opindex mhard-float
|
||||||
Generate output containing floating point instructions. This is the
|
Generate output containing floating-point instructions. This is the
|
||||||
default.
|
default.
|
||||||
|
|
||||||
@item -mno-fpu
|
@item -mno-fpu
|
||||||
|
@ -17969,7 +17969,7 @@ targets. Normally the facilities of the machine's usual C compiler are
|
||||||
used, but this cannot be done directly in cross-compilation. You must make
|
used, but this cannot be done directly in cross-compilation. You must make
|
||||||
your own arrangements to provide suitable library functions for
|
your own arrangements to provide suitable library functions for
|
||||||
cross-compilation. The embedded targets @samp{sparc-*-aout} and
|
cross-compilation. The embedded targets @samp{sparc-*-aout} and
|
||||||
@samp{sparclite-*-*} do provide software floating point support.
|
@samp{sparclite-*-*} do provide software floating-point support.
|
||||||
|
|
||||||
@option{-msoft-float} changes the calling convention in the output file;
|
@option{-msoft-float} changes the calling convention in the output file;
|
||||||
therefore, it is only useful if you compile @emph{all} of a program with
|
therefore, it is only useful if you compile @emph{all} of a program with
|
||||||
|
@ -17979,17 +17979,17 @@ this to work.
|
||||||
|
|
||||||
@item -mhard-quad-float
|
@item -mhard-quad-float
|
||||||
@opindex mhard-quad-float
|
@opindex mhard-quad-float
|
||||||
Generate output containing quad-word (long double) floating point
|
Generate output containing quad-word (long double) floating-point
|
||||||
instructions.
|
instructions.
|
||||||
|
|
||||||
@item -msoft-quad-float
|
@item -msoft-quad-float
|
||||||
@opindex msoft-quad-float
|
@opindex msoft-quad-float
|
||||||
Generate output containing library calls for quad-word (long double)
|
Generate output containing library calls for quad-word (long double)
|
||||||
floating point instructions. The functions called are those specified
|
floating-point instructions. The functions called are those specified
|
||||||
in the SPARC ABI@. This is the default.
|
in the SPARC ABI@. This is the default.
|
||||||
|
|
||||||
As of this writing, there are no SPARC implementations that have hardware
|
As of this writing, there are no SPARC implementations that have hardware
|
||||||
support for the quad-word floating point instructions. They all invoke
|
support for the quad-word floating-point instructions. They all invoke
|
||||||
a trap handler for one of these instructions, and then the trap handler
|
a trap handler for one of these instructions, and then the trap handler
|
||||||
emulates the effect of the instruction. Because of the trap handler overhead,
|
emulates the effect of the instruction. Because of the trap handler overhead,
|
||||||
this is much slower than calling the ABI library routines. Thus the
|
this is much slower than calling the ABI library routines. Thus the
|
||||||
|
@ -18006,7 +18006,7 @@ alignment only if they are contained in another type, or if they have an
|
||||||
absolute address. Otherwise, it assumes they have 4 byte alignment.
|
absolute address. Otherwise, it assumes they have 4 byte alignment.
|
||||||
Specifying this option avoids some rare compatibility problems with code
|
Specifying this option avoids some rare compatibility problems with code
|
||||||
generated by other compilers. It is not the default because it results
|
generated by other compilers. It is not the default because it results
|
||||||
in a performance loss, especially for floating point code.
|
in a performance loss, especially for floating-point code.
|
||||||
|
|
||||||
@item -mno-faster-structs
|
@item -mno-faster-structs
|
||||||
@itemx -mfaster-structs
|
@itemx -mfaster-structs
|
||||||
|
@ -18565,7 +18565,7 @@ will assemble with the GNU assembler.
|
||||||
|
|
||||||
@item -mg
|
@item -mg
|
||||||
@opindex mg
|
@opindex mg
|
||||||
Output code for g-format floating point numbers instead of d-format.
|
Output code for G-format floating-point numbers instead of D-format.
|
||||||
@end table
|
@end table
|
||||||
|
|
||||||
@node VxWorks Options
|
@node VxWorks Options
|
||||||
|
@ -18785,8 +18785,8 @@ use exception handling.
|
||||||
Generate code that allows trapping instructions to throw exceptions.
|
Generate code that allows trapping instructions to throw exceptions.
|
||||||
Note that this requires platform-specific runtime support that does
|
Note that this requires platform-specific runtime support that does
|
||||||
not exist everywhere. Moreover, it only allows @emph{trapping}
|
not exist everywhere. Moreover, it only allows @emph{trapping}
|
||||||
instructions to throw exceptions, i.e.@: memory references or floating
|
instructions to throw exceptions, i.e.@: memory references or floating-point
|
||||||
point instructions. It does not allow exceptions to be thrown from
|
instructions. It does not allow exceptions to be thrown from
|
||||||
arbitrary signal handlers such as @code{SIGALRM}.
|
arbitrary signal handlers such as @code{SIGALRM}.
|
||||||
|
|
||||||
@item -funwind-tables
|
@item -funwind-tables
|
||||||
|
|
Loading…
Reference in New Issue