Fix compilation with GCC/AVX (workaround __m128 and __m256 being the same type with default ABI)

This commit is contained in:
Gael Guennebaud 2015-02-17 16:08:07 +01:00
parent 9daf8eba6f
commit 91ab2489dd
2 changed files with 2 additions and 2 deletions

View File

@ -474,7 +474,7 @@ ptranspose(PacketBlock<Packet2cf,2>& kernel) {
}
template<> EIGEN_STRONG_INLINE Packet2cf pblend(const Selector<2>& ifPacket, const Packet2cf& thenPacket, const Packet2cf& elsePacket) {
__m128d result = pblend(ifPacket, _mm_castps_pd(thenPacket.v), _mm_castps_pd(elsePacket.v));
__m128d result = pblend<Packet2d>(ifPacket, _mm_castps_pd(thenPacket.v), _mm_castps_pd(elsePacket.v));
return Packet2cf(_mm_castpd_ps(result));
}

View File

@ -34,7 +34,7 @@ namespace internal {
// 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
// structure:
// TODO disable this wrapper if abi-versio>=4, but to detect that without asking the user to define a macro?
// TODO disable this wrapper if abi-versio>=4, but how to detect that without asking the user to define a macro?
template<typename T>
struct eigen_packet_wrapper
{