mirror of
https://github.com/recp/cglm.git
synced 2026-02-17 03:39:05 +00:00
arrm, neon: use negate instruction instead of xor in glm_inv_tr_neon()
This commit is contained in:
@@ -97,7 +97,7 @@ glm_inv_tr_neon(mat4 mat) {
|
|||||||
x0 = glmm_fmadd(r0, glmm_splat_w(r0),
|
x0 = glmm_fmadd(r0, glmm_splat_w(r0),
|
||||||
glmm_fmadd(r1, glmm_splat_w(r1),
|
glmm_fmadd(r1, glmm_splat_w(r1),
|
||||||
vmulq_f32(r2, glmm_splat_w(r2))));
|
vmulq_f32(r2, glmm_splat_w(r2))));
|
||||||
x0 = glmm_xor(x0, glmm_set1(-0.f));
|
x0 = vnegq_f32(x0);
|
||||||
|
|
||||||
glmm_store(mat[0], r0);
|
glmm_store(mat[0], r0);
|
||||||
glmm_store(mat[1], r1);
|
glmm_store(mat[1], r1);
|
||||||
|
|||||||
@@ -22,8 +22,8 @@ glm_mat2_mul_neon(mat2 m1, mat2 m2, mat2 dest) {
|
|||||||
x1 = glmm_load(m1[0]); /* d c b a */
|
x1 = glmm_load(m1[0]); /* d c b a */
|
||||||
x2 = glmm_load(m2[0]); /* h g f e */
|
x2 = glmm_load(m2[0]); /* h g f e */
|
||||||
|
|
||||||
dc = vget_high_f32(x1);
|
dc = vget_high_f32(x1);
|
||||||
ba = vget_low_f32(x1);
|
ba = vget_low_f32(x1);
|
||||||
|
|
||||||
/* g g e e, h h f f */
|
/* g g e e, h h f f */
|
||||||
a1 = vtrnq_f32(x2, x2);
|
a1 = vtrnq_f32(x2, x2);
|
||||||
|
|||||||
Reference in New Issue
Block a user