https://gcc.gnu.org/g:b2cba21a5048fba93398d82a543b0313ba57f915
commit b2cba21a5048fba93398d82a543b0313ba57f915 Author: Michael Meissner <[email protected]> Date: Fri Oct 31 18:30:36 2025 -0400 Fix __bfloat16 signalling NaN support on PowerPC. 2025-10-31 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
