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

Reply via email to