From 3d8d0f6269478a06f4fcbd4b838c8e9b9d7e9d62 Mon Sep 17 00:00:00 2001 From: Gael Guennebaud Date: Fri, 25 Apr 2014 10:56:18 +0200 Subject: Enable vectorization of pack_rhs with a column-major RHS. Rename and generalize Kernel<*> to PacketBlock<*,N>. --- Eigen/src/Core/arch/AVX/Complex.h | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'Eigen/src/Core/arch/AVX/Complex.h') diff --git a/Eigen/src/Core/arch/AVX/Complex.h b/Eigen/src/Core/arch/AVX/Complex.h index 18be2f225..9ced85132 100644 --- a/Eigen/src/Core/arch/AVX/Complex.h +++ b/Eigen/src/Core/arch/AVX/Complex.h @@ -431,8 +431,8 @@ template<> EIGEN_STRONG_INLINE Packet2cd pcplxflip(const Packet2cd& x return Packet2cd(_mm256_shuffle_pd(x.v, x.v, 0x5)); } -template<> EIGEN_DEVICE_FUNC inline void -ptranspose(Kernel& kernel) { +EIGEN_DEVICE_FUNC inline void +ptranspose(PacketBlock& kernel) { __m256d P0 = _mm256_castps_pd(kernel.packet[0].v); __m256d P1 = _mm256_castps_pd(kernel.packet[1].v); __m256d P2 = _mm256_castps_pd(kernel.packet[2].v); @@ -449,8 +449,8 @@ ptranspose(Kernel& kernel) { kernel.packet[2].v = _mm256_castpd_ps(_mm256_permute2f128_pd(T1, T3, 49)); } -template<> EIGEN_DEVICE_FUNC inline void -ptranspose(Kernel& kernel) { +EIGEN_DEVICE_FUNC inline void +ptranspose(PacketBlock& kernel) { __m256d tmp = _mm256_permute2f128_pd(kernel.packet[0].v, kernel.packet[1].v, 0+(2<<4)); kernel.packet[1].v = _mm256_permute2f128_pd(kernel.packet[0].v, kernel.packet[1].v, 1+(3<<4)); kernel.packet[0].v = tmp; -- cgit v1.2.3