From c4b4aad25e707fb68d0eab521dd963f441bc50f5 Mon Sep 17 00:00:00 2001 From: bramas <berenger.bramas@inria.fr> Date: Wed, 3 Sep 2014 12:29:09 +0200 Subject: [PATCH] Make it compile --- Src/Kernels/P2P/FP2PAvx.h | 8 -------- Src/Kernels/P2P/FP2PSse.hpp | 8 -------- Src/Utils/FMath.hpp | 12 ++++++------ 3 files changed, 6 insertions(+), 22 deletions(-) diff --git a/Src/Kernels/P2P/FP2PAvx.h b/Src/Kernels/P2P/FP2PAvx.h index 007bdcee6..57a68679d 100644 --- a/Src/Kernels/P2P/FP2PAvx.h +++ b/Src/Kernels/P2P/FP2PAvx.h @@ -25,8 +25,6 @@ static void FullMutual(ContainerClass* const FRestrict inTargets, ContainerClass FReal*const targetsForcesZ = inTargets->getForcesZ(); FReal*const targetsPotentials = inTargets->getPotentials(); - - const __m256d mOne = _mm256_set1_pd(1.0); //P2P between target cells and others ones for(int idxNeighbors = 0 ; idxNeighbors < limiteNeighbors ; ++idxNeighbors){ if( inNeighbors[idxNeighbors] ){ @@ -196,8 +194,6 @@ static void FullRemote(ContainerClass* const FRestrict inTargets, ContainerClass FReal*const targetsForcesZ = inTargets->getForcesZ(); FReal*const targetsPotentials = inTargets->getPotentials(); - const __m256d mOne = _mm256_set1_pd(1.0); - for(int idxNeighbors = 0 ; idxNeighbors < limiteNeighbors ; ++idxNeighbors){ if( inNeighbors[idxNeighbors] ){ const int nbParticlesSources = (inNeighbors[idxNeighbors]->getNbParticles()+3)/4; @@ -266,8 +262,6 @@ static void FullMutual(ContainerClass* const FRestrict inTargets, ContainerClass FReal*const targetsForcesZ = inTargets->getForcesZ(); FReal*const targetsPotentials = inTargets->getPotentials(); - const __m256 mOne = _mm256_set1_ps(1.0); - for(int idxNeighbors = 0 ; idxNeighbors < limiteNeighbors ; ++idxNeighbors){ if( inNeighbors[idxNeighbors] ){ const int nbParticlesSources = (inNeighbors[idxNeighbors]->getNbParticles()+7)/8; @@ -432,8 +426,6 @@ static void FullRemote(ContainerClass* const FRestrict inTargets, ContainerClass FReal*const targetsForcesZ = inTargets->getForcesZ(); FReal*const targetsPotentials = inTargets->getPotentials(); - const __m256 mOne = _mm256_set1_ps(1.0); - for(int idxNeighbors = 0 ; idxNeighbors < limiteNeighbors ; ++idxNeighbors){ if( inNeighbors[idxNeighbors] ){ const int nbParticlesSources = (inNeighbors[idxNeighbors]->getNbParticles()+7)/8; diff --git a/Src/Kernels/P2P/FP2PSse.hpp b/Src/Kernels/P2P/FP2PSse.hpp index 4f330b911..ee33367ba 100644 --- a/Src/Kernels/P2P/FP2PSse.hpp +++ b/Src/Kernels/P2P/FP2PSse.hpp @@ -26,8 +26,6 @@ static void FullMutual(ContainerClass* const FRestrict inTargets, ContainerClass FReal*const targetsForcesZ = inTargets->getForcesZ(); FReal*const targetsPotentials = inTargets->getPotentials(); - const __m128d mOne = _mm_set1_pd(1.0); - for(int idxNeighbors = 0 ; idxNeighbors < limiteNeighbors ; ++idxNeighbors){ if( inNeighbors[idxNeighbors] ){ const int nbParticlesSources = (inNeighbors[idxNeighbors]->getNbParticles()+1)/2; @@ -191,8 +189,6 @@ static void FullRemote(ContainerClass* const FRestrict inTargets, ContainerClass FReal*const targetsForcesZ = inTargets->getForcesZ(); FReal*const targetsPotentials = inTargets->getPotentials(); - const __m128d mOne = _mm_set1_pd(1.0); - for(int idxNeighbors = 0 ; idxNeighbors < limiteNeighbors ; ++idxNeighbors){ if( inNeighbors[idxNeighbors] ){ const int nbParticlesSources = (inNeighbors[idxNeighbors]->getNbParticles()+1)/2; @@ -261,8 +257,6 @@ static void FullMutual(ContainerClass* const FRestrict inTargets, ContainerClass FReal*const targetsForcesZ = inTargets->getForcesZ(); FReal*const targetsPotentials = inTargets->getPotentials(); - const __m128 mOne = _mm_set1_ps(1.0); - for(int idxNeighbors = 0 ; idxNeighbors < limiteNeighbors ; ++idxNeighbors){ if( inNeighbors[idxNeighbors] ){ const int nbParticlesSources = (inNeighbors[idxNeighbors]->getNbParticles()+3)/4; @@ -426,8 +420,6 @@ static void FullRemote(ContainerClass* const FRestrict inTargets, ContainerClass FReal*const targetsForcesZ = inTargets->getForcesZ(); FReal*const targetsPotentials = inTargets->getPotentials(); - const __m128 mOne = _mm_set1_ps(1.0); - for(int idxNeighbors = 0 ; idxNeighbors < limiteNeighbors ; ++idxNeighbors){ if( inNeighbors[idxNeighbors] ){ const int nbParticlesSources = (inNeighbors[idxNeighbors]->getNbParticles()+3)/4; diff --git a/Src/Utils/FMath.hpp b/Src/Utils/FMath.hpp index a93ef3e68..0d7618d0f 100755 --- a/Src/Utils/FMath.hpp +++ b/Src/Utils/FMath.hpp @@ -241,7 +241,7 @@ struct FMath{ } static __m128d Rsqrt(const __m128d inV){ - return FMath::One<__m128d>() / _mm_sqrt_pd(inV); + return _mm_set_pd1(1.0) / _mm_sqrt_pd(inV); } #endif #ifdef ScalFMM_USE_AVX @@ -258,7 +258,7 @@ struct FMath{ } static __m256d Rsqrt(const __m256d inV){ - return FMath::One<__m256d>() / _mm256_sqrt_pd(inV); + return _mm256_set_pd1(1.0) / _mm256_sqrt_pd(inV); } #endif @@ -488,10 +488,10 @@ inline __m128 FMath::One<__m128>(){ return _mm_set_ps1(1.0); } -//template <> -//__m128d FMath::One<__m128d>(){ -// return _mm_set_pd1(1.0); -//} +template <> +inline __m128d FMath::One<__m128d>(){ + return _mm_set_pd1(1.0); +} template <> inline __m128 FMath::Zero<__m128>(){ -- GitLab