diff options
author | 2014-09-21 11:56:07 +0000 | |
---|---|---|
committer | 2014-09-21 11:56:07 +0000 | |
commit | de38ff24993af77f188ab97d458d2884eeffd1ba (patch) | |
tree | 9febf97343cb8baa0aabe930b0e4a0bffffa5088 /Eigen/src | |
parent | 60e093a9dce2f8d4c0f3b2ea3e0386d5f01bff8d (diff) |
prefetch are noops on VSX, actually disable the prefetch trait
Diffstat (limited to 'Eigen/src')
-rwxr-xr-x | Eigen/src/Core/arch/AltiVec/PacketMath.h | 10 |
1 files changed, 2 insertions, 8 deletions
diff --git a/Eigen/src/Core/arch/AltiVec/PacketMath.h b/Eigen/src/Core/arch/AltiVec/PacketMath.h index 728f8b4d6..1b86e1227 100755 --- a/Eigen/src/Core/arch/AltiVec/PacketMath.h +++ b/Eigen/src/Core/arch/AltiVec/PacketMath.h @@ -483,16 +483,10 @@ template<> EIGEN_STRONG_INLINE void pstoreu<float>(float* to, const Packet4f& } #endif -template<> EIGEN_STRONG_INLINE void prefetch<float>(const float* addr) { #ifndef __VSX__ - vec_dstt(addr, DST_CTRL(2,2,32), DST_CHAN); +template<> EIGEN_STRONG_INLINE void prefetch<float>(const float* addr) { vec_dstt(addr, DST_CTRL(2,2,32), DST_CHAN); } +template<> EIGEN_STRONG_INLINE void prefetch<int>(const int* addr) { vec_dstt(addr, DST_CTRL(2,2,32), DST_CHAN); } #endif -} -template<> EIGEN_STRONG_INLINE void prefetch<int>(const int* addr) { -#ifndef __VSX__ - vec_dstt(addr, DST_CTRL(2,2,32), DST_CHAN); -#endif -} template<> EIGEN_STRONG_INLINE float pfirst<Packet4f>(const Packet4f& a) { float EIGEN_ALIGN16 x[4]; vec_st(a, 0, x); return x[0]; } template<> EIGEN_STRONG_INLINE int pfirst<Packet4i>(const Packet4i& a) { int EIGEN_ALIGN16 x[4]; vec_st(a, 0, x); return x[0]; } |