labrinea added a comment.
GCC online docs
<https://gcc.gnu.org/onlinedocs/gcc-3.4.6/g77/Optimize-Options.html> state:
> -ffast-math
> Might allow some programs designed to not be too dependent on IEEE behavior
> for floating-point to run faster, or die trying. Sets
> -funsafe-math-optimizations, -ffinite-math-only, and -fno-trapping-math.
>
> -funsafe-math-optimizations
> Allow optimizations that may be give incorrect results for certain IEEE
> inputs.
>
> -ffinite-math-only
> Allow optimizations for floating-point arithmetic that assume that arguments
> and results are not NaNs or +-Infs.
>
> -fno-trapping-math
> Allow the compiler to assume that floating-point arithmetic will not
> generate traps on any inputs. This is useful, for example, when running a
> program using IEEE "non-stop" floating-point arithmetic.
Does this mean, define _ARM_FP_FAST when all these three flags are set
(-funsafe-math-optimizations, -ffinite-math-only, and -fno-trapping-math)? We
are currently checking ("-ffast-math" or "-ffinite-math-only").
ACLE docs state:
> __ARM_FP_FAST is defined to 1 if floating-point optimizations may occur such
> that the computed results are different from those prescribed by the order of
> operations according to the C standard. Examples of such optimizations would
> be reassociation of expressions to reduce depth, and replacement of a
> division by constant with multiplication by its reciprocal.
http://reviews.llvm.org/D12633
_______________________________________________
cfe-commits mailing list
[email protected]
http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits