mirror of
https://gitlab.com/libeigen/eigen.git
synced 2025-07-26 06:44:27 +08:00
Disable __m128* wrappers when compiling with AVX and -fabi-version=4
This commit is contained in:
parent
91ab2489dd
commit
159fb181c2
@ -28,13 +28,12 @@ namespace internal {
|
|||||||
#endif
|
#endif
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if defined EIGEN_VECTORIZE_AVX && EIGEN_COMP_GNUC_STRICT
|
#if (defined EIGEN_VECTORIZE_AVX) && EIGEN_COMP_GNUC_STRICT && (__GXX_ABI_VERSION < 1004)
|
||||||
// With GCC's default ABI version, a __m128 or __m256 are the same types and therefore we cannot
|
// With GCC's default ABI version, a __m128 or __m256 are the same types and therefore we cannot
|
||||||
// have overloads for both types without linking error.
|
// have overloads for both types without linking error.
|
||||||
// One solution is to increase ABI version using -fabi-version=4 (or greater).
|
// One solution is to increase ABI version using -fabi-version=4 (or greater).
|
||||||
// To workaround this inconvenince, we rather wrap 128bit types into the following helper
|
// Otherwise, we workaround this inconvenience by wrapping 128bit types into the following helper
|
||||||
// structure:
|
// structure:
|
||||||
// TODO disable this wrapper if abi-versio>=4, but how to detect that without asking the user to define a macro?
|
|
||||||
template<typename T>
|
template<typename T>
|
||||||
struct eigen_packet_wrapper
|
struct eigen_packet_wrapper
|
||||||
{
|
{
|
||||||
|
Loading…
x
Reference in New Issue
Block a user