Displaying 2 results from an estimated 2 matches for "fedisableexcept".
2019 Aug 20
3
Floating point operations with specific rounding and exception properties
...event from undesired moves of fp operations.
The discussion is in the thread
http://lists.llvm.org/pipermail/cfe-dev/2017-August/055325.html, the
relevant example is:
double f(double a, double b, double c) {
{
#pragma STDC FENV_ACCESS ON
feenableexcept(FE_OVERFLOW);
double d = a * b;
fedisableexcept(FE_OVERFLOW);
}
return c * d;
}
The second fmul must not be hoisted up to before the fedisableexcept. Using
constrained intrinsics is expected to help in this case as they are not
handled by optimization passes.
The concern is that using constrained intrinsics in a small region of a
function...
2019 Aug 21
2
Floating point operations with specific rounding and exception properties
...E0mh4GrY&s=l5-qb-0vYUlkEbQT46x1HYz9WtpgOLaojeUkghA_QNg&e=>,
>> the relevant example is:
>>
>> double f(double a, double b, double c) {
>> {
>> #pragma STDC FENV_ACCESS ON
>> feenableexcept(FE_OVERFLOW);
>> double d = a * b;
>> fedisableexcept(FE_OVERFLOW);
>> }
>> return c * d;
>> }
>>
>>
>> The second fmul must not be hoisted up to before the fedisableexcept.
>> Using constrained intrinsics is expected to help in this case as they are
>> not handled by optimization passes.
>>
&g...