From c3b5bb869a4a2ba39815b731a46133810771bec3 Mon Sep 17 00:00:00 2001 From: Recep Aslantas Date: Wed, 15 Jan 2020 09:56:19 +0300 Subject: [PATCH 1/2] arm: fix type castings for ARM Neon --- include/cglm/simd/arm.h | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/include/cglm/simd/arm.h b/include/cglm/simd/arm.h index d0e5072..64b2dad 100644 --- a/include/cglm/simd/arm.h +++ b/include/cglm/simd/arm.h @@ -34,17 +34,19 @@ glmm_hadd(float32x4_t v) { static inline float glmm_hmin(float32x4_t v) { - v = vpmin_f32(vget_low_f32(v), vget_high_f32(v)); - v = vpmin_f32(v, v); - return vget_lane_f32(v, 0); + float32x2_t t; + t = vpmin_f32(vget_low_f32(v), vget_high_f32(v)); + t = vpmin_f32(t, t); + return vget_lane_f32(t, 0); } static inline float glmm_hmax(float32x4_t v) { - v = vpmax_f32(vget_low_f32(v), vget_high_f32(v)); - v = vpmax_f32(v, v); - return vget_lane_f32(v, 0); + float32x2_t t; + t = vpmax_f32(vget_low_f32(v), vget_high_f32(v)); + t = vpmax_f32(t, t); + return vget_lane_f32(t, 0); } static inline From af7f8a54364c1cbd14f674fec101133ad29cc830 Mon Sep 17 00:00:00 2001 From: Recep Aslantas Date: Wed, 15 Jan 2020 09:56:54 +0300 Subject: [PATCH 2/2] vec4: fix parameter name for NEON --- include/cglm/vec4-ext.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/include/cglm/vec4-ext.h b/include/cglm/vec4-ext.h index 583376b..6baa70f 100644 --- a/include/cglm/vec4-ext.h +++ b/include/cglm/vec4-ext.h @@ -252,7 +252,7 @@ glm_vec4_abs(vec4 v, vec4 dest) { #if defined( __SSE__ ) || defined( __SSE2__ ) glmm_store(dest, glmm_abs(glmm_load(v))); #elif defined(CGLM_NEON_FP) - vst1q_f32(dest, vabsq_f32(vld1q_f32(a))); + vst1q_f32(dest, vabsq_f32(vld1q_f32(v))); #else dest[0] = fabsf(v[0]); dest[1] = fabsf(v[1]);