From dd6f7e8793d78b9c64f6468405ce77b250a18646 Mon Sep 17 00:00:00 2001
From: Luca Tornatore <luca.tornatore@inaf.it>
Date: Fri, 29 Nov 2024 16:53:01 +0100
Subject: [PATCH] added macro for vector sqrt

---
 headers/vector_types.h | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/headers/vector_types.h b/headers/vector_types.h
index e9d9628..1e14ebe 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
-- 
GitLab