This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]