diff options
author | 2020-04-23 18:17:14 +0000 | |
---|---|---|
committer | 2020-04-23 18:17:14 +0000 | |
commit | e80ec24357aaaa1e205cda3be466206e7830fcda (patch) | |
tree | 6b3d585938c9927fce763caccbf5987a1f67217b /Eigen/src/Core/arch/AltiVec | |
parent | 0aebe19aca58d78434cf724ef954a8383b2bf7c9 (diff) |
Remove unused packet op "preduxp".
Diffstat (limited to 'Eigen/src/Core/arch/AltiVec')
-rw-r--r-- | Eigen/src/Core/arch/AltiVec/Complex.h | 17 | ||||
-rwxr-xr-x | Eigen/src/Core/arch/AltiVec/PacketMath.h | 142 |
2 files changed, 0 insertions, 159 deletions
diff --git a/Eigen/src/Core/arch/AltiVec/Complex.h b/Eigen/src/Core/arch/AltiVec/Complex.h index 62df67ac9..2a2689bc6 100644 --- a/Eigen/src/Core/arch/AltiVec/Complex.h +++ b/Eigen/src/Core/arch/AltiVec/Complex.h @@ -149,22 +149,6 @@ template<> EIGEN_STRONG_INLINE std::complex<float> predux<Packet2cf>(const Packe return pfirst<Packet2cf>(Packet2cf(b)); } -template<> EIGEN_STRONG_INLINE Packet2cf preduxp<Packet2cf>(const Packet2cf* vecs) -{ - Packet4f b1, b2; -#ifdef _BIG_ENDIAN - b1 = vec_sld(vecs[0].v, vecs[1].v, 8); - b2 = vec_sld(vecs[1].v, vecs[0].v, 8); -#else - b1 = vec_sld(vecs[1].v, vecs[0].v, 8); - b2 = vec_sld(vecs[0].v, vecs[1].v, 8); -#endif - b2 = vec_sld(b2, b2, 8); - b2 = padd<Packet4f>(b1, b2); - - return Packet2cf(b2); -} - template<> EIGEN_STRONG_INLINE std::complex<float> predux_mul<Packet2cf>(const Packet2cf& a) { Packet4f b; @@ -359,7 +343,6 @@ template<> EIGEN_STRONG_INLINE std::complex<double> pfirst<Packet1cd>(const Pac template<> EIGEN_STRONG_INLINE Packet1cd preverse(const Packet1cd& a) { return a; } template<> EIGEN_STRONG_INLINE std::complex<double> predux<Packet1cd>(const Packet1cd& a) { return pfirst(a); } -template<> EIGEN_STRONG_INLINE Packet1cd preduxp<Packet1cd>(const Packet1cd* vecs) { return vecs[0]; } template<> EIGEN_STRONG_INLINE std::complex<double> predux_mul<Packet1cd>(const Packet1cd& a) { return pfirst(a); } diff --git a/Eigen/src/Core/arch/AltiVec/PacketMath.h b/Eigen/src/Core/arch/AltiVec/PacketMath.h index 451e1396c..3000c32d8 100755 --- a/Eigen/src/Core/arch/AltiVec/PacketMath.h +++ b/Eigen/src/Core/arch/AltiVec/PacketMath.h @@ -929,106 +929,6 @@ template<> EIGEN_STRONG_INLINE float predux<Packet4f>(const Packet4f& a) return pfirst(sum); } -template<> EIGEN_STRONG_INLINE Packet4f preduxp<Packet4f>(const Packet4f* vecs) -{ - Packet4f v[4], sum[4]; - - // It's easier and faster to transpose then add as columns - // Check: http://www.freevec.org/function/matrix_4x4_transpose_floats for explanation - // Do the transpose, first set of moves - v[0] = vec_mergeh(vecs[0], vecs[2]); - v[1] = vec_mergel(vecs[0], vecs[2]); - v[2] = vec_mergeh(vecs[1], vecs[3]); - v[3] = vec_mergel(vecs[1], vecs[3]); - // Get the resulting vectors - sum[0] = vec_mergeh(v[0], v[2]); - sum[1] = vec_mergel(v[0], v[2]); - sum[2] = vec_mergeh(v[1], v[3]); - sum[3] = vec_mergel(v[1], v[3]); - - // Now do the summation: - // Lines 0+1 - sum[0] = sum[0] + sum[1]; - // Lines 2+3 - sum[1] = sum[2] + sum[3]; - // Add the results - sum[0] = sum[0] + sum[1]; - - return sum[0]; -} - -template<> EIGEN_STRONG_INLINE Packet8s preduxp<Packet8s>(const Packet8s* vecs) -{ - Packet8s step1[8], step2[8], step3[8]; - - step1[0] = vec_mergeh(vecs[0], vecs[4]); - step1[1] = vec_mergel(vecs[0], vecs[4]); - step1[2] = vec_mergeh(vecs[1], vecs[5]); - step1[3] = vec_mergel(vecs[1], vecs[5]); - step1[4] = vec_mergeh(vecs[2], vecs[6]); - step1[5] = vec_mergel(vecs[2], vecs[6]); - step1[6] = vec_mergeh(vecs[3], vecs[7]); - step1[7] = vec_mergel(vecs[3], vecs[7]); - - step2[0] = vec_mergeh(step1[0], step1[4]); - step2[1] = vec_mergel(step1[0], step1[4]); - step2[2] = vec_mergeh(step1[1], step1[5]); - step2[3] = vec_mergel(step1[1], step1[5]); - step2[4] = vec_mergeh(step1[2], step1[6]); - step2[5] = vec_mergel(step1[2], step1[6]); - step2[6] = vec_mergeh(step1[3], step1[7]); - step2[7] = vec_mergel(step1[3], step1[7]); - - step3[0] = vec_mergeh(step2[0], step2[4]); - step3[1] = vec_mergel(step2[0], step2[4]); - step3[2] = vec_mergeh(step2[1], step2[5]); - step3[3] = vec_mergel(step2[1], step2[5]); - step3[4] = vec_mergeh(step2[2], step2[6]); - step3[5] = vec_mergel(step2[2], step2[6]); - step3[6] = vec_mergeh(step2[3], step2[7]); - step3[7] = vec_mergel(step2[3], step2[7]); - - step3[0] += step3[1] + step3[2] + step3[3] + step3[4] + step3[5] + step3[6] + step3[7]; - - return step3[0]; -} - -template<> EIGEN_STRONG_INLINE Packet8us preduxp<Packet8us>(const Packet8us* vecs) -{ - Packet8us step1[8], step2[8], step3[8]; - - step1[0] = vec_mergeh(vecs[0], vecs[4]); - step1[1] = vec_mergel(vecs[0], vecs[4]); - step1[2] = vec_mergeh(vecs[1], vecs[5]); - step1[3] = vec_mergel(vecs[1], vecs[5]); - step1[4] = vec_mergeh(vecs[2], vecs[6]); - step1[5] = vec_mergel(vecs[2], vecs[6]); - step1[6] = vec_mergeh(vecs[3], vecs[7]); - step1[7] = vec_mergel(vecs[3], vecs[7]); - - step2[0] = vec_mergeh(step1[0], step1[4]); - step2[1] = vec_mergel(step1[0], step1[4]); - step2[2] = vec_mergeh(step1[1], step1[5]); - step2[3] = vec_mergel(step1[1], step1[5]); - step2[4] = vec_mergeh(step1[2], step1[6]); - step2[5] = vec_mergel(step1[2], step1[6]); - step2[6] = vec_mergeh(step1[3], step1[7]); - step2[7] = vec_mergel(step1[3], step1[7]); - - step3[0] = vec_mergeh(step2[0], step2[4]); - step3[1] = vec_mergel(step2[0], step2[4]); - step3[2] = vec_mergeh(step2[1], step2[5]); - step3[3] = vec_mergel(step2[1], step2[5]); - step3[4] = vec_mergeh(step2[2], step2[6]); - step3[5] = vec_mergel(step2[2], step2[6]); - step3[6] = vec_mergeh(step2[3], step2[7]); - step3[7] = vec_mergel(step2[3], step2[7]); - - step3[0] += step3[1] + step3[2] + step3[3] + step3[4] + step3[5] + step3[6] + step3[7]; - - return step3[0]; -} - template<> EIGEN_STRONG_INLINE int predux<Packet4i>(const Packet4i& a) { Packet4i sum; @@ -1074,34 +974,6 @@ template<> EIGEN_STRONG_INLINE unsigned short int predux<Packet8us>(const Packet return static_cast<unsigned short int>(predux(first_half) + predux(second_half)); } -template<> EIGEN_STRONG_INLINE Packet4i preduxp<Packet4i>(const Packet4i* vecs) -{ - Packet4i v[4], sum[4]; - - // It's easier and faster to transpose then add as columns - // Check: http://www.freevec.org/function/matrix_4x4_transpose_floats for explanation - // Do the transpose, first set of moves - v[0] = vec_mergeh(vecs[0], vecs[2]); - v[1] = vec_mergel(vecs[0], vecs[2]); - v[2] = vec_mergeh(vecs[1], vecs[3]); - v[3] = vec_mergel(vecs[1], vecs[3]); - // Get the resulting vectors - sum[0] = vec_mergeh(v[0], v[2]); - sum[1] = vec_mergel(v[0], v[2]); - sum[2] = vec_mergeh(v[1], v[3]); - sum[3] = vec_mergel(v[1], v[3]); - - // Now do the summation: - // Lines 0+1 - sum[0] = sum[0] + sum[1]; - // Lines 2+3 - sum[1] = sum[2] + sum[3]; - // Add the results - sum[0] = sum[0] + sum[1]; - - return sum[0]; -} - // Other reduction functions: // mul template<> EIGEN_STRONG_INLINE float predux_mul<Packet4f>(const Packet4f& a) @@ -1835,20 +1707,6 @@ template<> EIGEN_STRONG_INLINE double predux<Packet2d>(const Packet2d& a) return pfirst<Packet2d>(sum); } -template<> EIGEN_STRONG_INLINE Packet2d preduxp<Packet2d>(const Packet2d* vecs) -{ - Packet2d v[2], sum; - v[0] = vecs[0] + reinterpret_cast<Packet2d>(vec_sld(reinterpret_cast<Packet4f>(vecs[0]), reinterpret_cast<Packet4f>(vecs[0]), 8)); - v[1] = vecs[1] + reinterpret_cast<Packet2d>(vec_sld(reinterpret_cast<Packet4f>(vecs[1]), reinterpret_cast<Packet4f>(vecs[1]), 8)); - -#ifdef _BIG_ENDIAN - sum = reinterpret_cast<Packet2d>(vec_sld(reinterpret_cast<Packet4f>(v[0]), reinterpret_cast<Packet4f>(v[1]), 8)); -#else - sum = reinterpret_cast<Packet2d>(vec_sld(reinterpret_cast<Packet4f>(v[1]), reinterpret_cast<Packet4f>(v[0]), 8)); -#endif - - return sum; -} // Other reduction functions: // mul template<> EIGEN_STRONG_INLINE double predux_mul<Packet2d>(const Packet2d& a) |