libstdc++-v3/ChangeLog:
PR libstdc++/124657
* include/experimental/bits/simd_x86.h (__is_x86_pd): Fix macro
names and refactor to reduce instantiations.
---
Tested x86_64-linux. Pushed to trunk.
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>
--
2.54.0