https://gcc.gnu.org/g:4753207f1c458d26cee925cc57247f6662d6659f
commit 4753207f1c458d26cee925cc57247f6662d6659f Author: Michael Meissner <[email protected]> Date: Mon Nov 3 18:21:32 2025 -0500 Fix __bfloat16 signalling NaN support on PowerPC. 2025-11-03 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
