754r issue: optimization
Please replace the previous version of this proposal with the following
which has been updated for the April 11 draft.
Motion: To recommend that languages specify static mode declarations to
allow or disallow the synthesis of fma and format-of operations and the
computation of sum reductions using wide partial sums.
Rationale: These widely used optimizations offer substantial
performance gains and are safe for most programs. By not incorporating
them into the standard, we encourage the use of compiler modes that
include a hodgepodge of non-standard behaviors. Excluding these
optimizations marginalizes the standard.
E.E.1 Optimization: replace the paragraph with:
As part of support for this standard, a language should require that
execution behavior preserve the literal meaning of the source code and
not change the numerical results or exceptions raised. However, the
language should specify static mode declarations to allow or disallow
the following optimizations, separately and collectively:
* synthesis of a fused multiply-add operation from a multiply and an add
* synthesis of a format-of operation from an operation and a conversion
of the result of the operation
* use of reassociation and wider intermediates to evaluate a sum