aboutsummaryrefslogtreecommitdiffhomepage
path: root/Eigen/src/Core/arch
diff options
context:
space:
mode:
authorGravatar Gael Guennebaud <g.gael@free.fr>2010-07-19 15:45:13 +0200
committerGravatar Gael Guennebaud <g.gael@free.fr>2010-07-19 15:45:13 +0200
commit6e157dd7c6e6e643295c5645cfb75d4c457f8d25 (patch)
treef4d680fb8fd723b58b89814e7a922cd5be35b27f /Eigen/src/Core/arch
parentf8aae7a908c816810bf2005e59df016733884e81 (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.h10
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),