> 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