> Using compiler option -march=native create code that is not compliant with
> floating point standards for multiplication.

See the documentation of -ffp-contract=STYLE in the manual:

'-ffp-contract=STYLE'
     '-ffp-contract=off' disables floating-point expression contraction.
     '-ffp-contract=fast' enables floating-point expression contraction
     such as forming of fused multiply-add operations if the target has
     native support for them.  '-ffp-contract=on' enables floating-point
     expression contraction if allowed by the language standard.  This
     is implemented for C and C++, where it enables contraction within
     one expression, but not across different statements.

     The default is '-ffp-contract=off' for C in a standards compliant
     mode ('-std=c11' or similar), '-ffp-contract=fast' otherwise.

-- 
Eric Botcazou


Reply via email to