Commit Graph

121 Commits

Author SHA1 Message Date
myfreeer
81b7c90271 simd128: simplify calls 2023-04-15 22:06:04 +08:00
myfreeer
d7c0edcbd9 simd128: minor lint 2023-04-08 13:40:46 +08:00
myfreeer
3a9e4df393 simd128: handle both sse2 and simd128 enabled by Emscripten
https://github.com/recp/cglm/pull/286#issuecomment-1492985403
2023-04-02 12:39:20 +08:00
myfreeer
7ca9a64ecf simd128: code style 2023-04-01 19:38:57 +08:00
myfreeer
51ce4db82e simd128: code style 2023-04-01 19:38:28 +08:00
myfreeer
73adfe08c0 simd128: inline _mm_cvtss_f32 2023-04-01 19:34:19 +08:00
myfreeer
48d6ab79bd simd128: inline _mm_movehl_ps 2023-04-01 19:28:45 +08:00
myfreeer
e40b477929 simd128: inline _mm_movelh_ps 2023-04-01 19:19:49 +08:00
myfreeer
5e05eec6d6 simd128: inline _MM_TRANSPOSE4_PS 2023-04-01 19:03:48 +08:00
myfreeer
3aca10ecda simd128: minor lint 2023-03-29 20:41:47 +08:00
myfreeer
5c7cd42407 simd128: inline _mm_sqrt_ss 2023-03-29 20:22:03 +08:00
myfreeer
e27f80b0bb simd128: inline _mm_rcp_ps 2023-03-29 20:16:16 +08:00
myfreeer
3845345f4c simd128: inline _mm_storeu_ps and _mm_store_ss 2023-03-29 20:12:51 +08:00
myfreeer
998d9626a2 simd128: inline _mm_unpackhi_ps and _mm_unpacklo_ps 2023-03-26 19:34:08 +08:00
myfreeer
84b482971d simd128: inline _mm_shuffle_ps 2023-03-26 19:34:08 +08:00
myfreeer
f24ec41a26 simd128: inline _mm_shuffle_ps for glmm_shuff1 2023-03-26 19:34:08 +08:00
myfreeer
e62b782039 simd128: fix a const in glm_mat4_inv_fast_wasm
making it the same as glm_mat4_inv_wasm, does not make any difference in tests
2023-03-26 19:34:08 +08:00
myfreeer
be76d96e8f simd128: inline _mm_set_ps 2023-03-26 19:34:07 +08:00
myfreeer
03c7bee863 simd128: inline some functions 2023-03-26 19:34:07 +08:00
myfreeer
71c585b159 simd128: enable in headers 2023-03-26 19:34:07 +08:00
myfreeer
fdef58bd1a simd128: enable in mat3 2023-03-26 19:34:07 +08:00
myfreeer
a0dd85f3d1 simd128: enable in quat 2023-03-26 19:34:07 +08:00
myfreeer
84c521c203 simd128: enable in mat4 2023-03-26 19:34:07 +08:00
myfreeer
5d60c17435 simd128: fix tests for vec4_norm_one and vec4_norm_inf 2023-03-26 19:34:07 +08:00
myfreeer
da5f18f10f simd128: fix tests for glm_inv_tr 2023-03-26 19:34:07 +08:00
myfreeer
2bc9573e1a simd128: include a fix 2023-03-26 19:34:07 +08:00
myfreeer
576d1d141e initial code on wasm simd128 2023-03-26 19:34:07 +08:00
Recep Aslantas
e276b5b405 Update intrin.h 2023-03-14 09:54:32 +03:00
Recep Aslantas
13ed79a61a arm: fix checking arm64 2023-03-12 16:43:47 +03:00
Recep Aslantas
ba993b3ea9 arm: use intrin to set/init vec4 as @gottfriedleibniz suggests 2023-03-11 14:15:30 +03:00
Recep Aslantas
4a6fc485fd use CGLM_SIMD_NEON instead of CGLM_NEON_FP 2023-03-09 22:16:39 +03:00
Recep Aslantas
9ed325018d Update intrin.h 2023-03-09 22:06:20 +03:00
Recep Aslantas
a30baffafa arm: update ARM/NEON macros 2023-03-09 21:56:25 +03:00
Recep Aslantas
8a117017ea fix building ARM NEON on windows & msvc 2023-03-07 13:11:08 +03:00
geckor14
851a58cedb Remove unused variable
The most recent version of Apple Clang (13.1.6) on macOS complains r3 is an unused variable. With -Werror enabled, this breaks the build.
2022-03-18 18:42:19 +11:00
Anonymous Maarten
68e3a072e8 Header containing sse3 intrinsics is pmmintrin.h 2021-12-29 08:48:55 +01:00
Recep Aslantas
5c22ca3abb arrm, neon: use negate instruction instead of xor in glm_inv_tr_neon() 2021-05-07 01:52:12 +03:00
Recep Aslantas
7f9585ca72 arrm, neon: impove hadd performance 2021-05-07 01:46:24 +03:00
Recep Aslantas
d0ab3aaa2e arm, neon: util macros 2021-05-07 01:46:03 +03:00
Recep Aslantas
28705be5a3 simd, sse: reduce some computation at glm_mul_rot_sse2() 2021-05-01 23:16:03 +03:00
Recep Aslantas
e1b142bce7 add todo to quat.h 2021-05-01 23:03:41 +03:00
Recep Aslantas
0f96eaad20 sse2: optimize glm_mat3_mul_sse2() with sse2
* reduce memory access for dest[2][2]
* the speed is increased ;)
2021-05-01 22:55:19 +03:00
Recep Aslantas
faf6186c29 sse: optimize glm_mat2_mul_sse2 with sse 2021-05-01 03:44:04 +03:00
Recep Aslantas
2be6ac949b sse: optimize glm_quat_mul with sse 2021-05-01 03:18:26 +03:00
Recep Aslantas
5b7bc522ac sse: optimize affine with sse
* re-oder instructions for ILP
2021-05-01 02:58:14 +03:00
Recep Aslantas
376cf31ee7 armi neon: optimize affine with neon 2021-05-01 02:46:14 +03:00
Recep Aslantas
d28b381dd6 armi neon: optimize mat4 mul with neon 2021-05-01 02:45:15 +03:00
Recep Aslantas
3673622cc3 simd, sse: optimize mat4 mul-v with sse
* re-oder instructions for ILP
2021-05-01 02:17:34 +03:00
Recep Aslantas
a90f706e12 simd, sse: optimize mat4 mul with sse
* re-oder instructions for ILP
2021-05-01 02:17:08 +03:00
Recep Aslantas
c065d71a2f simd, sse: optimize mat4 inv with sse
* reduce a few shufflees
* re-oder instructions for ILP
2021-04-30 21:12:17 +03:00