diff options
author | 2010-07-19 15:45:13 +0200 | |
---|---|---|
committer | 2010-07-19 15:45:13 +0200 | |
commit | 6e157dd7c6e6e643295c5645cfb75d4c457f8d25 (patch) | |
tree | f4d680fb8fd723b58b89814e7a922cd5be35b27f /Eigen/src/Core/arch | |
parent | f8aae7a908c816810bf2005e59df016733884e81 (diff) |
* fix a couple of remaining issues with previous commit,
* merge ei_product_blocking_traits into ei_gepb_traits
Diffstat (limited to 'Eigen/src/Core/arch')
-rw-r--r-- | Eigen/src/Core/arch/SSE/Complex.h | 10 |
1 files changed, 3 insertions, 7 deletions
diff --git a/Eigen/src/Core/arch/SSE/Complex.h b/Eigen/src/Core/arch/SSE/Complex.h index baa25907c..8c0fd9a7f 100644 --- a/Eigen/src/Core/arch/SSE/Complex.h +++ b/Eigen/src/Core/arch/SSE/Complex.h @@ -277,13 +277,9 @@ template<> EIGEN_STRONG_INLINE Packet1cd ei_pmul<Packet1cd>(const Packet1cd& a, { // TODO optimize it for SSE3 and 4 #ifdef EIGEN_VECTORIZE_SSE3 -// return Packet1cd(_mm_addsub_pd(_mm_mul_pd(a.v, b.v), -// _mm_mul_pd(a.v, b.v/*ei_vec2d_swizzle1(b.v, 1, 0)*/))); - return Packet1cd(_mm_add_pd(_mm_mul_pd(a.v, b.v), - _mm_mul_pd(a.v, ei_vec2d_swizzle1(b.v, 1, 0)))); -// return Packet1cd(_mm_addsub_pd(_mm_mul_pd(ei_vec2d_swizzle1(a.v, 0, 0), b.v), -// _mm_mul_pd(ei_vec2d_swizzle1(a.v, 1, 1), -// ei_vec2d_swizzle1(b.v, 1, 0)))); + return Packet1cd(_mm_addsub_pd(_mm_mul_pd(ei_vec2d_swizzle1(a.v, 0, 0), b.v), + _mm_mul_pd(ei_vec2d_swizzle1(a.v, 1, 1), + ei_vec2d_swizzle1(b.v, 1, 0)))); #else const __m128d mask = _mm_castsi128_pd(_mm_set_epi32(0x0,0x0,0x80000000,0x0)); return Packet1cd(_mm_add_pd(_mm_mul_pd(ei_vec2d_swizzle1(a.v, 0, 0), b.v), |