aboutsummaryrefslogtreecommitdiffhomepage
path: root/Eigen/src/LU/arch
diff options
context:
space:
mode:
authorGravatar Gael Guennebaud <g.gael@free.fr>2011-06-14 10:56:47 +0200
committerGravatar Gael Guennebaud <g.gael@free.fr>2011-06-14 10:56:47 +0200
commit40287d2fd9aab244f5f00fbd872d30e65a51653e (patch)
treeae91267c2640d9f9790abcca7f5a880c3b769a83 /Eigen/src/LU/arch
parentf82b3ea241baf9c8ba987812928361ff015dd21a (diff)
remove the use of non standard long long
Diffstat (limited to 'Eigen/src/LU/arch')
-rw-r--r--Eigen/src/LU/arch/Inverse_SSE.h8
1 files changed, 4 insertions, 4 deletions
diff --git a/Eigen/src/LU/arch/Inverse_SSE.h b/Eigen/src/LU/arch/Inverse_SSE.h
index 0fe9be388..176c349ce 100644
--- a/Eigen/src/LU/arch/Inverse_SSE.h
+++ b/Eigen/src/LU/arch/Inverse_SSE.h
@@ -182,8 +182,8 @@ struct compute_inverse_size4<Architecture::SSE, double, MatrixType, ResultType>
};
static void run(const MatrixType& matrix, ResultType& result)
{
- const EIGEN_ALIGN16 long long int _Sign_NP[2] = { 0x8000000000000000ll, 0x0000000000000000ll };
- const EIGEN_ALIGN16 long long int _Sign_PN[2] = { 0x0000000000000000ll, 0x8000000000000000ll };
+ const __m128d _Sign_NP = _mm_castsi128_pd(_mm_set_epi32(0x0,0x0,0x80000000,0x0));
+ const __m128d _Sign_PN = _mm_castsi128_pd(_mm_set_epi32(0x80000000,0x0,0x0,0x0));
// The inverse is calculated using "Divide and Conquer" technique. The
// original matrix is divide into four 2x2 sub-matrices. Since each
@@ -316,8 +316,8 @@ struct compute_inverse_size4<Architecture::SSE, double, MatrixType, ResultType>
iB1 = _mm_sub_pd(_mm_mul_pd(C1, dB), iB1);
iB2 = _mm_sub_pd(_mm_mul_pd(C2, dB), iB2);
- d1 = _mm_xor_pd(rd, _mm_load_pd((double*)_Sign_PN));
- d2 = _mm_xor_pd(rd, _mm_load_pd((double*)_Sign_NP));
+ d1 = _mm_xor_pd(rd, _Sign_PN);
+ d2 = _mm_xor_pd(rd, _Sign_NP);
// iC = B*|C| - A*C#*D;
dC = _mm_shuffle_pd(dC,dC,0);