diff --git a/headers/vector_types.h b/headers/vector_types.h index e9d9628b343c1f950e115e410c59cbb75ed9e31f..1e14ebee3a8c2a5f2495db9214838d24eff4f24a 100644 --- a/headers/vector_types.h +++ b/headers/vector_types.h @@ -77,6 +77,8 @@ #define LLVSIZE 8 #define VALIGN 64 +#define VSQRT(v) _mm512_sqrt_pd(v) + #elif defined ( __AVX__ ) || defined ( __AVX2__ ) #warning "found AVX/AVX2" @@ -93,6 +95,8 @@ #define LLVSIZE 4 #define VALIGN 32 +#define VSQRT(v) _mm256_sqrt_pd(v) + #elif defined ( __SSE4__ ) || defined ( __SSE3__ ) #warning "found SSE >= 3" @@ -108,11 +112,15 @@ #define LLVSIZE 2 #define VALIGN 32 +#define VSQRT(v) _mm_sqrt_pd(v) + #else #define VSIZE (sizeof(double)) #undef VSIZE_FROM_INTRINSICS #define NO_VECTOR + +#define VSQRT(v) sqrt(v) #endif #endif