https://gcc.gnu.org/g:8d287bd70446e5ec3b0eb909d32d03dd65c67bae

commit r17-339-g8d287bd70446e5ec3b0eb909d32d03dd65c67bae
Author: Jonathan Wakely <[email protected]>
Date:   Tue May 5 19:12:58 2026 +0100

    libstdc++: Fix experimental::__is_x86_pd() [PR124657]
    
    libstdc++-v3/ChangeLog:
    
            PR libstdc++/124657
            * include/experimental/bits/simd_x86.h (__is_x86_pd): Fix macro
            names and refactor to reduce instantiations.

Diff:
---
 libstdc++-v3/include/experimental/bits/simd_x86.h | 9 ++++++---
 1 file changed, 6 insertions(+), 3 deletions(-)

diff --git a/libstdc++-v3/include/experimental/bits/simd_x86.h 
b/libstdc++-v3/include/experimental/bits/simd_x86.h
index 5d4ed5ad58c8..b2d564676b0c 100644
--- a/libstdc++-v3/include/experimental/bits/simd_x86.h
+++ b/libstdc++-v3/include/experimental/bits/simd_x86.h
@@ -426,11 +426,14 @@ template <typename _Tp>
   constexpr bool
   __is_x86_pd()
   {
-#if __LDBL_MANT_DIG == __DBL_MANT_DIG
-    if constexpr (is_same_v<_Tp, long double>)
+    if constexpr (is_same_v<_Tp, double>)
+      return true;
+#if __LDBL_MANT_DIG__ == __DBL_MANT_DIG__
+    else if constexpr (is_same_v<_Tp, long double>)
       return true;
 #endif
-    return is_same_v<_Tp, double>;
+    else
+      return false;
   }
 
 template <typename _Tp, size_t _Np>

Reply via email to