Removed SSE tests

master
Christophe Riccio ago%!(EXTRA string=12 years)
parent 929b521381
commit 9841d2a2b4
  1. 20
      glm/core/dummy.cpp
  2. 5
      glm/core/type_mat4x4.inl
  3. 5
      glm/core/type_vec4.hpp
  4. 8
      glm/core/type_vec4.inl

@ -32,6 +32,26 @@
#define GLM_MESSAGES #define GLM_MESSAGES
#include "../glm.hpp" #include "../glm.hpp"
struct float4
{
union
{
struct {float r, g, b, a;};
struct {float s, t, p, q;};
struct {float x, y, z, w;};
__m128 data;
};
};
int test_simd()
{
float4 f;
return 0;
}
int main() int main()
{ {
glm::mat4 A(1.0f); glm::mat4 A(1.0f);

@ -708,6 +708,7 @@ namespace detail
typename tmat4x4<T, P>::row_type const & v typename tmat4x4<T, P>::row_type const & v
) )
{ {
/*
__m128 v0 = _mm_shuffle_ps(v.data, v.data, _MM_SHUFFLE(0, 0, 0, 0)); __m128 v0 = _mm_shuffle_ps(v.data, v.data, _MM_SHUFFLE(0, 0, 0, 0));
__m128 v1 = _mm_shuffle_ps(v.data, v.data, _MM_SHUFFLE(1, 1, 1, 1)); __m128 v1 = _mm_shuffle_ps(v.data, v.data, _MM_SHUFFLE(1, 1, 1, 1));
__m128 v2 = _mm_shuffle_ps(v.data, v.data, _MM_SHUFFLE(2, 2, 2, 2)); __m128 v2 = _mm_shuffle_ps(v.data, v.data, _MM_SHUFFLE(2, 2, 2, 2));
@ -724,7 +725,8 @@ namespace detail
__m128 a2 = _mm_add_ps(a0, a1); __m128 a2 = _mm_add_ps(a0, a1);
return typename tmat4x4<T, P>::col_type(a2); return typename tmat4x4<T, P>::col_type(a2);
/* */
tmat4x4<T, P>::col_type const Mov0(v[0]); tmat4x4<T, P>::col_type const Mov0(v[0]);
tmat4x4<T, P>::col_type const Mov1(v[1]); tmat4x4<T, P>::col_type const Mov1(v[1]);
tmat4x4<T, P>::col_type const Mul0 = m[0] * Mov0; tmat4x4<T, P>::col_type const Mul0 = m[0] * Mov0;
@ -737,7 +739,6 @@ namespace detail
tmat4x4<T, P>::col_type const Add1 = Mul2 * Mul3; tmat4x4<T, P>::col_type const Add1 = Mul2 * Mul3;
tmat4x4<T, P>::col_type const Add2 = Add0 * Add1; tmat4x4<T, P>::col_type const Add2 = Add0 * Add1;
return Add2; return Add2;
*/
/* /*
return typename tmat4x4<T, P>::col_type( return typename tmat4x4<T, P>::col_type(

@ -37,7 +37,7 @@ namespace glm{
namespace detail namespace detail
{ {
template <typename T, precision P> template <typename T, precision P>
struct tvec4 struct __declspec(align(16)) tvec4
{ {
enum ctor{_null}; enum ctor{_null};
@ -69,7 +69,6 @@ namespace detail
struct {value_type r, g, b, a;}; struct {value_type r, g, b, a;};
struct {value_type s, t, p, q;}; struct {value_type s, t, p, q;};
struct {value_type x, y, z, w;}; struct {value_type x, y, z, w;};
__m128 data;
}; };
# elif(GLM_COMPONENT == GLM_COMPONENT_CXX98) # elif(GLM_COMPONENT == GLM_COMPONENT_CXX98)
union {value_type x, r, s;}; union {value_type x, r, s;};
@ -116,8 +115,6 @@ namespace detail
value_type const & s1, value_type const & s1,
value_type const & s2, value_type const & s2,
value_type const & s3); value_type const & s3);
GLM_FUNC_DECL explicit tvec4(
__m128 const & v);
////////////////////////////////////// //////////////////////////////////////
// Convertion scalar constructors // Convertion scalar constructors

@ -115,14 +115,6 @@ namespace detail
w(s4) w(s4)
{} {}
template <typename T, precision P>
GLM_FUNC_QUALIFIER tvec4<T, P>::tvec4
(
__m128 const & v
) :
data(v)
{}
////////////////////////////////////// //////////////////////////////////////
// Swizzle constructors // Swizzle constructors

Loading…
Cancel
Save