From 47e00450158b4f36d5f9bc8f0b8ab6b061770d28 Mon Sep 17 00:00:00 2001 From: Recep Aslantas Date: Sun, 18 Apr 2021 13:49:36 +0300 Subject: [PATCH] glmm, x86: define hadd function --- include/cglm/simd/x86.h | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/include/cglm/simd/x86.h b/include/cglm/simd/x86.h index d1d9cfd..bbeccb3 100644 --- a/include/cglm/simd/x86.h +++ b/include/cglm/simd/x86.h @@ -48,6 +48,15 @@ glmm_abs(__m128 x) { return _mm_andnot_ps(_mm_set1_ps(-0.0f), x); } +static inline +__m128 +glmm_vhadd(__m128 v) { + __m128 x0; + x0 = _mm_add_ps(v, glmm_shuff1(v, 0, 1, 2, 3)); + x0 = _mm_add_ps(x0, glmm_shuff1(x0, 1, 0, 0, 1)); + return x0; +} + static inline __m128 glmm_vhadds(__m128 v) {