https://gcc.gnu.org/g:20214a9bc29fa7fbe0cdefd93a626167ff97f7ee
commit 20214a9bc29fa7fbe0cdefd93a626167ff97f7ee Author: Michael Meissner <[email protected]> Date: Sat Nov 1 04:31:46 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
