https://gcc.gnu.org/g:80e4f5379da618faffdc1697f27d8a40078eef9a
commit 80e4f5379da618faffdc1697f27d8a40078eef9a Author: Michael Meissner <[email protected]> Date: Wed Nov 5 01:06:36 2025 -0500 Fix __bfloat16 signalling NaN support on PowerPC. 2025-11-05 Michael Meissner <[email protected]> libstdc++-v3/ * include/limits (__bfloat16 signaling_NaN): Use __builtin_nansf and convert it to __bfloat16 instead of using __builtin_nansf16b. Diff: --- libstdc++-v3/include/std/limits | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/libstdc++-v3/include/std/limits b/libstdc++-v3/include/std/limits index 49ce7c935e9d..24fb375c9cb0 100644 --- a/libstdc++-v3/include/std/limits +++ b/libstdc++-v3/include/std/limits @@ -2067,9 +2067,16 @@ __glibcxx_float_n(128) quiet_NaN() _GLIBCXX_USE_NOEXCEPT { return __gnu_cxx::__bfloat16_t(__builtin_nanf("")); } +#ifdef _ARCH_PPC + static _GLIBCXX_CONSTEXPR __gnu_cxx::__bfloat16_t + signaling_NaN() _GLIBCXX_USE_NOEXCEPT + { return __gnu_cxx::__bfloat16_t(__builtin_nansf("")); } + +#else static _GLIBCXX_CONSTEXPR __gnu_cxx::__bfloat16_t signaling_NaN() _GLIBCXX_USE_NOEXCEPT { return __builtin_nansf16b(""); } +#endif static _GLIBCXX_CONSTEXPR __gnu_cxx::__bfloat16_t denorm_min() _GLIBCXX_USE_NOEXCEPT
