diff options
-rw-r--r-- | Eigen/src/LU/arch/Inverse_SSE.h | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/Eigen/src/LU/arch/Inverse_SSE.h b/Eigen/src/LU/arch/Inverse_SSE.h index 0b54edfd4..30ce81af7 100644 --- a/Eigen/src/LU/arch/Inverse_SSE.h +++ b/Eigen/src/LU/arch/Inverse_SSE.h @@ -51,8 +51,8 @@ struct ei_compute_inverse_size4<Architecture::SSE, float, MatrixType, ResultType // Matrix transposition const float *src = matrix.data(); - tmp1 = ei_pload(src); - row1 = ei_pload(src+8); + tmp1 = _mm_loadh_pi(_mm_loadl_pi(tmp1, (__m64*)(src)), (__m64*)(src+ 4)); + row1 = _mm_loadh_pi(_mm_loadl_pi(row1, (__m64*)(src+8)), (__m64*)(src+12)); row0 = _mm_shuffle_ps(tmp1, row1, 0x88); row1 = _mm_shuffle_ps(row1, tmp1, 0xDD); tmp1 = _mm_loadh_pi(_mm_loadl_pi(tmp1, (__m64*)(src+ 2)), (__m64*)(src+ 6)); |