aboutsummaryrefslogtreecommitdiffhomepage
path: root/Eigen/src/Core/arch/AltiVec
diff options
context:
space:
mode:
authorGravatar Konstantinos A. Margaritis <markos@codex.gr>2009-03-20 17:26:50 +0000
committerGravatar Konstantinos A. Margaritis <markos@codex.gr>2009-03-20 17:26:50 +0000
commitfe00e864a131820669a98273ad9523726da3ec19 (patch)
tree5218790343957c494418bc9929c14f251120b8b3 /Eigen/src/Core/arch/AltiVec
parentfbf415c547bc9ee328f2afa58b0ebcee31b8f57c (diff)
ei_pnegate implemented for AltiVec
Diffstat (limited to 'Eigen/src/Core/arch/AltiVec')
-rw-r--r--Eigen/src/Core/arch/AltiVec/PacketMath.h7
1 files changed, 4 insertions, 3 deletions
diff --git a/Eigen/src/Core/arch/AltiVec/PacketMath.h b/Eigen/src/Core/arch/AltiVec/PacketMath.h
index 1458ddcb6..d183f048f 100644
--- a/Eigen/src/Core/arch/AltiVec/PacketMath.h
+++ b/Eigen/src/Core/arch/AltiVec/PacketMath.h
@@ -103,13 +103,14 @@ template<> inline v4i ei_psub(const v4i& a, const v4i& b) { return vec_sub(
template<> EIGEN_STRONG_INLINE v4f ei_pnegate(const v4f& a)
{
- v4i mask(0x80000000,0x80000000,0x80000000,0x80000000);
+ v4i mask = {0x80000000, 0x80000000, 0x80000000, 0x80000000};
return vec_xor(a,(v4f) mask);
}
+
template<> EIGEN_STRONG_INLINE v4i ei_pnegate(const v4i& a)
{
- v4f zero;
- return ei_psub(vec_xor(zero,zero), a);
+ USE_CONST_v0i;
+ return ei_psub(v0i, a);
}
template<> inline v4f ei_pmul(const v4f& a, const v4f& b) { USE_CONST_v0f; return vec_madd(a,b, v0f); }