From 701e015bfd54ffd2392b3b9e53e646d0e2fc1a61 Mon Sep 17 00:00:00 2001 From: Recep Aslantas Date: Sun, 25 Apr 2021 02:36:06 +0300 Subject: [PATCH] avoid loading vec3 by glmm_load() * use glmm_set1() for each for now --- include/cglm/affine.h | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/include/cglm/affine.h b/include/cglm/affine.h index 504e13b..d0e5bc9 100644 --- a/include/cglm/affine.h +++ b/include/cglm/affine.h @@ -51,18 +51,17 @@ CGLM_INLINE void glm_translate(mat4 m, vec3 v) { #if defined(CGLM_SIMD) - glmm_128 v0, m0, m1, m2, m3; + glmm_128 m0, m1, m2, m3; m0 = glmm_load(m[0]); m1 = glmm_load(m[1]); m2 = glmm_load(m[2]); m3 = glmm_load(m[3]); - v0 = glmm_load(v); glmm_store(m[3], - glmm_fmadd(m0, glmm_splat_x(v0), - glmm_fmadd(m1, glmm_splat_y(v0), - glmm_fmadd(m2, glmm_splat_z(v0), m3)))); + glmm_fmadd(m0, glmm_set1(v[0]), + glmm_fmadd(m1, glmm_set1(v[1]), + glmm_fmadd(m2, glmm_set1(v[2]), m3)))); #else glm_vec4_muladds(m[0], v[0], m[3]); glm_vec4_muladds(m[1], v[1], m[3]);