mirror of
https://github.com/recp/cglm.git
synced 2025-10-04 09:08:53 +00:00
simd: replace glm_simd_ with glmm_
* now glmm_ is used as global simd namescape
This commit is contained in:
@@ -199,7 +199,7 @@ glm_quat_normalize_to(versor q, versor dest) {
|
|||||||
float dot;
|
float dot;
|
||||||
|
|
||||||
x0 = glmm_load(q);
|
x0 = glmm_load(q);
|
||||||
xdot = glm_simd_dot(x0, x0);
|
xdot = glmm_dot(x0, x0);
|
||||||
dot = _mm_cvtss_f32(xdot);
|
dot = _mm_cvtss_f32(xdot);
|
||||||
|
|
||||||
if (dot <= 0.0f) {
|
if (dot <= 0.0f) {
|
||||||
|
@@ -37,7 +37,7 @@
|
|||||||
|
|
||||||
static inline
|
static inline
|
||||||
__m128
|
__m128
|
||||||
glm_simd_dot(__m128 a, __m128 b) {
|
glmm_dot(__m128 a, __m128 b) {
|
||||||
__m128 x0;
|
__m128 x0;
|
||||||
x0 = _mm_mul_ps(a, b);
|
x0 = _mm_mul_ps(a, b);
|
||||||
x0 = _mm_add_ps(x0, _mm_shuffle1_ps(x0, 1, 0, 3, 2));
|
x0 = _mm_add_ps(x0, _mm_shuffle1_ps(x0, 1, 0, 3, 2));
|
||||||
@@ -46,13 +46,13 @@ glm_simd_dot(__m128 a, __m128 b) {
|
|||||||
|
|
||||||
static inline
|
static inline
|
||||||
__m128
|
__m128
|
||||||
glm_simd_norm(__m128 a) {
|
glmm_norm(__m128 a) {
|
||||||
return _mm_sqrt_ps(glm_simd_dot(a, a));
|
return _mm_sqrt_ps(glmm_dot(a, a));
|
||||||
}
|
}
|
||||||
|
|
||||||
static inline
|
static inline
|
||||||
__m128
|
__m128
|
||||||
glm_simd_load_v3(vec3 v) {
|
glmm_load3(vec3 v) {
|
||||||
__m128i xy;
|
__m128i xy;
|
||||||
__m128 z;
|
__m128 z;
|
||||||
|
|
||||||
@@ -64,7 +64,7 @@ glm_simd_load_v3(vec3 v) {
|
|||||||
|
|
||||||
static inline
|
static inline
|
||||||
void
|
void
|
||||||
glm_simd_store_v3(__m128 vx, vec3 v) {
|
glmm_store3(__m128 vx, vec3 v) {
|
||||||
_mm_storel_pi((__m64 *)&v[0], vx);
|
_mm_storel_pi((__m64 *)&v[0], vx);
|
||||||
_mm_store_ss(&v[2], _mm_shuffle1_ps(vx, 2, 2, 2, 2));
|
_mm_store_ss(&v[2], _mm_shuffle1_ps(vx, 2, 2, 2, 2));
|
||||||
}
|
}
|
||||||
|
@@ -215,7 +215,7 @@ glm_vec4_norm(vec4 vec) {
|
|||||||
#if defined( __SSE__ ) || defined( __SSE2__ )
|
#if defined( __SSE__ ) || defined( __SSE2__ )
|
||||||
__m128 x0;
|
__m128 x0;
|
||||||
x0 = glmm_load(vec);
|
x0 = glmm_load(vec);
|
||||||
return _mm_cvtss_f32(_mm_sqrt_ss(glm_simd_dot(x0, x0)));
|
return _mm_cvtss_f32(_mm_sqrt_ss(glmm_dot(x0, x0)));
|
||||||
#else
|
#else
|
||||||
return sqrtf(glm_vec4_norm2(vec));
|
return sqrtf(glm_vec4_norm2(vec));
|
||||||
#endif
|
#endif
|
||||||
@@ -571,7 +571,7 @@ glm_vec4_normalize_to(vec4 vec, vec4 dest) {
|
|||||||
float dot;
|
float dot;
|
||||||
|
|
||||||
x0 = glmm_load(vec);
|
x0 = glmm_load(vec);
|
||||||
xdot = glm_simd_dot(x0, x0);
|
xdot = glmm_dot(x0, x0);
|
||||||
dot = _mm_cvtss_f32(xdot);
|
dot = _mm_cvtss_f32(xdot);
|
||||||
|
|
||||||
if (dot == 0.0f) {
|
if (dot == 0.0f) {
|
||||||
|
Reference in New Issue
Block a user