Displaying 4 results from an estimated 4 matches for "allow_reassociation".
2020 Jan 27
11
Floating point semantic modes
...f, fast }
denormal_fp_math { IEEE, PreserveSign, PositiveZero }
denormal_fp32_math { IEEE, PreserveSign, PositiveZero }
support_math_errno { on, off }
no_honor_nans { on, off }
no_honor_infinities { on, off }
no_signed_zeros { on, off }
allow_reciprocal { on, off }
allow_approximate_fns { on, off }
allow_reassociation { on, off }
---------------------
Dependencies
---------------------
rounding_mode must be "tonearest" if fenv_access is "off" -- It is the user's responsibility to make sure the dynamic rounding mode is not left in another state.
if except_behavior is not "ignore&quo...
2020 Jan 29
2
Floating point semantic modes
...Patch in progress. I think ON should force the following:
except_behavior { strict }
fenv_access { on }
rounding_mode { dynamic }
denormal_fp_math { IEEE }
denormal_fp32_math { IEEE }
no_signed_zeros { off }
allow_reciprocal { off }
allow_approximate_fns { off }
allow_reassociation { off }
The pragma `STDC FENV_ACCESS` notifies compiler about access to FP environment, so `except_behavior`, `fenv_access` and `rounding_mode` should be set according to this list. But other properties should not be set by this pragma unless they are required by some of these. `allow_reassociatio...
2020 Jan 28
3
Floating point semantic modes
...off }
>
> ideally there would be a way to support snan too.
> (e.g. isnan(x) cannot be turned into x!=x then)
>
> > no_honor_infinities { on, off }
> > no_signed_zeros { on, off }
> > allow_reciprocal { on, off }
> > allow_approximate_fns { on, off }
> > allow_reassociation { on, off }
>
> excess precision handling is missing from this list which matters for x87 and
> m68k fpu support and may matter for _Float16 implementations that fall back
> to _Float32 arithmetic.
>
> the granularity of these knobs is also interesting (expression, code block,
&...
2020 Jan 29
3
Floating point semantic modes
...ompiled your code).
> no_honor_nans { on, off }
ideally there would be a way to support snan too.
(e.g. isnan(x) cannot be turned into x!=x then)
> no_honor_infinities { on, off }
> no_signed_zeros { on, off }
> allow_reciprocal { on, off }
> allow_approximate_fns { on, off }
> allow_reassociation { on, off }
excess precision handling is missing from this list which matters for x87 and m68k fpu support and may matter for _Float16 implementations that fall back to _Float32 arithmetic.
the granularity of these knobs is also interesting (expression, code block, function or translation unit),...