Displaying 3 results from an estimated 3 matches for "5wr66m".
2020 Sep 13
2
Invalid transformation in LibCallSimplifier::replacePowWithSqrt?
...ng errno to non-zero (not to
prevent spuriously setting errno).
#include <errno.h>
volatile double inf = -__builtin_inf();
double pow(double, double);
void abort(void);
int main(void) {
errno = 0;
pow(inf, 0.5);
if (errno != 0) abort();
}
Compiler Explorer link: https://godbolt.org/z/5Wr66M
Is the transformation actually valid in some way? If not, I see no
instances where the LibCallSimplier generates conditional branches.
Retaining the transformation in some way without generating conditional
branches would probably involve bailing out if infinities are still in play.
--------------...
2020 Sep 14
2
Invalid transformation in LibCallSimplifier::replacePowWithSqrt?
...; volatile double inf = -__builtin_inf();
>>
>> double pow(double, double);
>> void abort(void);
>> int main(void) {
>> errno = 0;
>> pow(inf, 0.5);
>> if (errno != 0) abort();
>> }
>>
>> Compiler Explorer link: https://godbolt.org/z/5Wr66M
>>
>> Is the transformation actually valid in some way? If not, I see no
>> instances where the LibCallSimplier generates conditional branches.
>> Retaining the transformation in some way without generating conditional
>> branches would probably involve bailing out if...
2020 Sep 14
2
Invalid transformation in LibCallSimplifier::replacePowWithSqrt?
...le pow(double, double);
>>>> void abort(void);
>>>> int main(void) {
>>>> errno = 0;
>>>> pow(inf, 0.5);
>>>> if (errno != 0) abort();
>>>> }
>>>>
>>>> Compiler Explorer link: https://godbolt.org/z/5Wr66M
>>>>
>>>> Is the transformation actually valid in some way? If not, I see no
>>>> instances where the LibCallSimplier generates conditional branches.
>>>> Retaining the transformation in some way without generating conditional
>>>> branche...