mirror of
https://github.com/gcc-mirror/gcc.git
synced 2026-05-06 14:59:39 +02:00
libstdc++: simd: map 64-bit long double to double on sse [PR124657]
When long double is as wide as double on x86 (-mlong-double-64), make the __intrinsic_type a vector of double. for libstdc++-v3/ChangeLog PR libstdc++/124657 * include/experimental/bits/simd.h (__intrinsic_type::type): Map long double to double.
This commit is contained in:
committed by
Alexandre Oliva
parent
eb829c6789
commit
a575c51916
@@ -2477,7 +2477,8 @@ template <typename _Tp, size_t _Bytes>
|
||||
static constexpr size_t _S_VBytes = _Bytes <= 16 ? 16 : _Bytes <= 32 ? 32 : 64;
|
||||
|
||||
using type [[__gnu__::__vector_size__(_S_VBytes)]]
|
||||
= conditional_t<is_integral_v<_Tp>, long long int, _Tp>;
|
||||
= conditional_t<is_integral_v<_Tp>, long long int,
|
||||
conditional_t<is_same_v<_Tp, long double>, double, _Tp> >;
|
||||
};
|
||||
#endif // _GLIBCXX_SIMD_HAVE_SSE
|
||||
|
||||
|
||||
Reference in New Issue
Block a user