Merge branch '0.9.2' into 0.9.3
This commit is contained in:
commit
e83d70c213
@ -5,6 +5,7 @@ project(glm)
|
|||||||
enable_testing()
|
enable_testing()
|
||||||
|
|
||||||
add_definitions(-D_CRT_SECURE_NO_WARNINGS)
|
add_definitions(-D_CRT_SECURE_NO_WARNINGS)
|
||||||
|
add_definitions(/Za)
|
||||||
#add_definitions(-pedantic)
|
#add_definitions(-pedantic)
|
||||||
#add_definitions(-S)
|
#add_definitions(-S)
|
||||||
#add_definitions(-s)
|
#add_definitions(-s)
|
||||||
|
@ -13,12 +13,12 @@ namespace detail{
|
|||||||
union ieee754_QNAN
|
union ieee754_QNAN
|
||||||
{
|
{
|
||||||
const float f;
|
const float f;
|
||||||
struct
|
struct i
|
||||||
{
|
{
|
||||||
const unsigned int mantissa:23, exp:8, sign:1;
|
const unsigned int mantissa:23, exp:8, sign:1;
|
||||||
};
|
};
|
||||||
|
|
||||||
ieee754_QNAN() : f(0.0), mantissa(0x7FFFFF), exp(0xFF), sign(0x0) {}
|
ieee754_QNAN() : f(0.0)/*, mantissa(0x7FFFFF), exp(0xFF), sign(0x0)*/ {}
|
||||||
};
|
};
|
||||||
|
|
||||||
static const __m128 zero = _mm_setzero_ps();
|
static const __m128 zero = _mm_setzero_ps();
|
||||||
@ -170,9 +170,13 @@ GLM_FUNC_QUALIFIER __m128 sse_rnd_ps(__m128 x)
|
|||||||
}
|
}
|
||||||
|
|
||||||
//roundEven
|
//roundEven
|
||||||
GLM_FUNC_QUALIFIER __m128 sse_rde_ps(__m128 v)
|
GLM_FUNC_QUALIFIER __m128 sse_rde_ps(__m128 x)
|
||||||
{
|
{
|
||||||
|
__m128 and0 = _mm_and_ps(glm::detail::_epi32_sign_mask, x);
|
||||||
|
__m128 or0 = _mm_or_ps(and0, glm::detail::_ps_2pow23);
|
||||||
|
__m128 add0 = _mm_add_ps(x, or0);
|
||||||
|
__m128 sub0 = _mm_sub_ps(add0, or0);
|
||||||
|
return sub0;
|
||||||
}
|
}
|
||||||
|
|
||||||
GLM_FUNC_QUALIFIER __m128 sse_ceil_ps(__m128 x)
|
GLM_FUNC_QUALIFIER __m128 sse_ceil_ps(__m128 x)
|
||||||
|
@ -202,8 +202,6 @@ GLM_FUNC_QUALIFIER __m128 sse_slow_det_ps(__m128 const in[4])
|
|||||||
__m128 Mul00 = _mm_mul_ps(Swp00, Swp01);
|
__m128 Mul00 = _mm_mul_ps(Swp00, Swp01);
|
||||||
__m128 Mul01 = _mm_mul_ps(Swp02, Swp03);
|
__m128 Mul01 = _mm_mul_ps(Swp02, Swp03);
|
||||||
Fac0 = _mm_sub_ps(Mul00, Mul01);
|
Fac0 = _mm_sub_ps(Mul00, Mul01);
|
||||||
|
|
||||||
bool stop = true;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
__m128 Fac1;
|
__m128 Fac1;
|
||||||
@ -224,8 +222,6 @@ GLM_FUNC_QUALIFIER __m128 sse_slow_det_ps(__m128 const in[4])
|
|||||||
__m128 Mul00 = _mm_mul_ps(Swp00, Swp01);
|
__m128 Mul00 = _mm_mul_ps(Swp00, Swp01);
|
||||||
__m128 Mul01 = _mm_mul_ps(Swp02, Swp03);
|
__m128 Mul01 = _mm_mul_ps(Swp02, Swp03);
|
||||||
Fac1 = _mm_sub_ps(Mul00, Mul01);
|
Fac1 = _mm_sub_ps(Mul00, Mul01);
|
||||||
|
|
||||||
bool stop = true;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -247,8 +243,6 @@ GLM_FUNC_QUALIFIER __m128 sse_slow_det_ps(__m128 const in[4])
|
|||||||
__m128 Mul00 = _mm_mul_ps(Swp00, Swp01);
|
__m128 Mul00 = _mm_mul_ps(Swp00, Swp01);
|
||||||
__m128 Mul01 = _mm_mul_ps(Swp02, Swp03);
|
__m128 Mul01 = _mm_mul_ps(Swp02, Swp03);
|
||||||
Fac2 = _mm_sub_ps(Mul00, Mul01);
|
Fac2 = _mm_sub_ps(Mul00, Mul01);
|
||||||
|
|
||||||
bool stop = true;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
__m128 Fac3;
|
__m128 Fac3;
|
||||||
@ -269,8 +263,6 @@ GLM_FUNC_QUALIFIER __m128 sse_slow_det_ps(__m128 const in[4])
|
|||||||
__m128 Mul00 = _mm_mul_ps(Swp00, Swp01);
|
__m128 Mul00 = _mm_mul_ps(Swp00, Swp01);
|
||||||
__m128 Mul01 = _mm_mul_ps(Swp02, Swp03);
|
__m128 Mul01 = _mm_mul_ps(Swp02, Swp03);
|
||||||
Fac3 = _mm_sub_ps(Mul00, Mul01);
|
Fac3 = _mm_sub_ps(Mul00, Mul01);
|
||||||
|
|
||||||
bool stop = true;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
__m128 Fac4;
|
__m128 Fac4;
|
||||||
@ -291,8 +283,6 @@ GLM_FUNC_QUALIFIER __m128 sse_slow_det_ps(__m128 const in[4])
|
|||||||
__m128 Mul00 = _mm_mul_ps(Swp00, Swp01);
|
__m128 Mul00 = _mm_mul_ps(Swp00, Swp01);
|
||||||
__m128 Mul01 = _mm_mul_ps(Swp02, Swp03);
|
__m128 Mul01 = _mm_mul_ps(Swp02, Swp03);
|
||||||
Fac4 = _mm_sub_ps(Mul00, Mul01);
|
Fac4 = _mm_sub_ps(Mul00, Mul01);
|
||||||
|
|
||||||
bool stop = true;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
__m128 Fac5;
|
__m128 Fac5;
|
||||||
@ -313,8 +303,6 @@ GLM_FUNC_QUALIFIER __m128 sse_slow_det_ps(__m128 const in[4])
|
|||||||
__m128 Mul00 = _mm_mul_ps(Swp00, Swp01);
|
__m128 Mul00 = _mm_mul_ps(Swp00, Swp01);
|
||||||
__m128 Mul01 = _mm_mul_ps(Swp02, Swp03);
|
__m128 Mul01 = _mm_mul_ps(Swp02, Swp03);
|
||||||
Fac5 = _mm_sub_ps(Mul00, Mul01);
|
Fac5 = _mm_sub_ps(Mul00, Mul01);
|
||||||
|
|
||||||
bool stop = true;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
__m128 SignA = _mm_set_ps( 1.0f,-1.0f, 1.0f,-1.0f);
|
__m128 SignA = _mm_set_ps( 1.0f,-1.0f, 1.0f,-1.0f);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user