From ccb4dec719c1dffbd3565497cd897abb1b9f730f Mon Sep 17 00:00:00 2001 From: Benoit Steiner Date: Wed, 23 Apr 2014 18:22:10 -0700 Subject: Created a NEON version of the ptranspose packet primitives --- Eigen/src/Core/arch/NEON/Complex.h | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'Eigen/src/Core/arch/NEON/Complex.h') diff --git a/Eigen/src/Core/arch/NEON/Complex.h b/Eigen/src/Core/arch/NEON/Complex.h index 7b94733ab..a668382e2 100644 --- a/Eigen/src/Core/arch/NEON/Complex.h +++ b/Eigen/src/Core/arch/NEON/Complex.h @@ -263,6 +263,14 @@ template<> EIGEN_STRONG_INLINE Packet2cf pdiv(const Packet2cf& a, con return Packet2cf(pdiv(res.v, vaddq_f32(s,rev_s))); } +template<> EIGEN_DEVICE_FUNC inline void +ptranspose(Kernel& kernel) { + float32x4_t tmp = vcombine_f32(vget_high_f32(kernel.packet[0].v), vget_high_f32(kernel.packet[1].v)); + kernel.packet[0].v = vcombine_f32(vget_low_f32(kernel.packet[0].v), vget_low_f32(kernel.packet[1].v)); + kernel.packet[1].v = tmp; +} + + } // end namespace internal } // end namespace Eigen -- cgit v1.2.3