[Bug middle-end/114140] quadmath fminq/fmaxq with signaling_NaN not work
pinskia at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Tue Feb 27 22:36:20 GMT 2024
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=114140
Andrew Pinski <pinskia at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Component|libquadmath |middle-end
--- Comment #3 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
This has nothing to do quadmath But rather the builtins and constant folding.
As shown by:
```
_Float128 f1()
{
using T = _Float128;
//using L = std::numeric_limits<T>;
const T
a = __builtin_huge_valf128(),
b = __builtin_nanf128(""),
c = __builtin_nansf128("");
return __builtin_fminf128(a, b);
}
_Float128 f2()
{
//using T = std::float128_t;
using T = _Float128;
// using L = std::numeric_limits<T>;
const T
a = __builtin_huge_valf128(),
b = __builtin_nanf128(""),
c = __builtin_nansf128("");
return __builtin_fmaxf128(a, b);
}
_Float128 f3()
{
//using T = std::float128_t;
using T = _Float128;
// using L = std::numeric_limits<T>;
const T
a = __builtin_huge_valf128(),
b = __builtin_nanf128(""),
c = __builtin_nansf128("");
return __builtin_fminf128(a, c);
}
_Float128 f4()
{
//using T = std::float128_t;
using T = _Float128;
// using L = std::numeric_limits<T>;
const T
a = __builtin_huge_valf128(),
b = __builtin_nanf128(""),
c = __builtin_nansf128("");
return __builtin_fmaxf128(a, c);
}
```
More information about the Gcc-bugs
mailing list