diff --git a/include/cglm/vec4.h b/include/cglm/vec4.h index 0f283ab..8e5bba6 100644 --- a/include/cglm/vec4.h +++ b/include/cglm/vec4.h @@ -761,10 +761,10 @@ glm_vec4_addsub(vec4 a, vec4 b, vec4 dest) { vsubq_f32(vld1q_f32(a), vld1q_f32(b)))); #else - dest[0] += a[0] - b[0]; - dest[1] += a[1] - b[1]; - dest[2] += a[2] - b[2]; - dest[3] += a[3] - b[3]; + dest[0] -= a[0] + b[0]; + dest[1] -= a[1] + b[1]; + dest[2] -= a[2] + b[2]; + dest[3] -= a[3] + b[3]; #endif } @@ -781,7 +781,7 @@ CGLM_INLINE void glm_vec4_mulsub(vec4 a, vec4 b, vec4 dest) { #if defined(CGLM_SIMD) - glmm_store(dest, glmm_fmsub(glmm_load(a), glmm_load(b), glmm_load(dest))); + glmm_store(dest, glmm_fnmsub(glmm_load(a), glmm_load(b), glmm_load(dest))); #else dest[0] -= a[0] * b[0]; dest[1] -= a[1] * b[1]; @@ -803,7 +803,7 @@ CGLM_INLINE void glm_vec4_mulsubs(vec4 a, float s, vec4 dest) { #if defined(CGLM_SIMD) - glmm_store(dest, glmm_fmsub(glmm_load(a), glmm_set1(s), glmm_load(dest))); + glmm_store(dest, glmm_fnmsub(glmm_load(a), glmm_set1(s), glmm_load(dest))); #else dest[0] -= a[0] * s; dest[1] -= a[1] * s;