matrix transpose

This commit is contained in:
Recep Aslantas
2016-09-12 00:15:03 +03:00
parent 92ce6ee7fb
commit 4aecc0b3e2
2 changed files with 62 additions and 0 deletions

View File

@@ -28,4 +28,24 @@
_mm_store_ps(D + 12, _mm_madd4_ps(L + 12, r0, r1, r2, r3)); \
} while (0)
#define CGLM_MAT_TRANSP_SSE_4x4f(M, D) \
do { \
__m128 r0; \
__m128 r1; \
__m128 r2; \
__m128 r3; \
\
r0 = _mm_load_ps(M[0]); \
r1 = _mm_load_ps(M[1]); \
r2 = _mm_load_ps(M[2]); \
r3 = _mm_load_ps(M[3]); \
\
_MM_TRANSPOSE4_PS(r0, r1, r2, r3); \
\
_mm_store_ps(D[0], r0); \
_mm_store_ps(D[1], r1); \
_mm_store_ps(D[2], r2); \
_mm_store_ps(D[3], r3); \
} while (0)
#endif /* cglm_mat_sse_h */