This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [PATCH] Add FMA_EXPR, un-cse multiplications before expansion
On Fri, 22 Oct 2010, Richard Guenther wrote:
> + ffp-contract=
> + Common Joined RejectNegative Var(flag_fp_contract)
> + -ffp-contract=[on|off|fast] Perform floating-point expression contraction.
Var with Joined and without UInteger is supposed to create a pointer
variable, which doesn't fit well with assigning integer values to it
elsewhere.
(I'd suggest an enum variable. Define the enumeration in flag-types.h,
define the variable through a Variable entry among those at the top of
common.opt. Don't put Var on the individual option entry. Store distinct
enum values for all three option arguments even if the code checking the
values later doesn't distinguish them all.)
> + @item -ffp-contract=@var{style}
> + @opindex ffp-contract
> + @option{-ffp-contract=off} disables floating-point expression contraction.
> + @option{-ffp-contract=fast} enables floating-point expression contraction
> + such as forming of fused multiply-add operations if the target has
> + native support for them.
> + @option{-ffp-contract=on} enables floating-point expression contraction
> + if allowed by the language standard.
> +
> + The default is @option{-ffp-contract=off}.
FWIW, hitherto the default has been "fast", though certainly in ISO C
modes it should be "on" or "off".
--
Joseph S. Myers
joseph@codesourcery.com