#include "mudbox.h"Go to the source code of this file.
Classes |
|
| struct | HWVector |
| This class represents a four dimensional
vector stored in the SSE registers. More... |
|
| struct | HWMatrix |
| This class represents a four by four matrix
stored in the SSE registers. More... |
|
Functions |
|
| mudbox::Vector & | operator<< (mudbox::Vector &v, const HWVector &r) |
| bool MBDLL_DECL | hasSSE3 () |
| Query if SSE3 is available. Present on
Prescott, Core2 and later. |
|
| bool MBDLL_DECL | hasSSE41 () |
| Query if SSE4.1 is available. Present on
Penryn (later Core 2) |
|
| bool MBDLL_DECL | hasSSE42 () |
| Query if SSE4.2 is available. Present on
Nehalem (Core i5, Corei7) |
|
| bool MBDLL_DECL | hasAVX256 () |
| Query if AVX is available. present on
Sandybridge. |
|
| mudbox::Vector& operator<< | ( | mudbox::Vector & | v, |
| const HWVector & | r | ||
| ) | [inline] |
Definition at line 234 of file SSE.h.
{
__m128 t = _mm_shuffle_ps( r.v, r.v, _MM_SHUFFLE(2,1,0,3) );
_mm_store_ss( &v.x, t );
t = _mm_shuffle_ps( t, t, _MM_SHUFFLE(2,1,0,3) );
_mm_store_ss( &v.y, t );
t = _mm_shuffle_ps( t, t, _MM_SHUFFLE(2,1,0,3) );
_mm_store_ss( &v.z, t );
return v;
//__m128 t = _mm_shuffle_ps( r.v, r.v, _MM_SHUFFLE(0,1,2,3) );
//int a = ((int *)&v)[3];
//_mm_storeu_ps( &v.x, t );
//((int *)&v)[3] = a;
//return v;
};
| bool MBDLL_DECL hasSSE3 | ( | ) |
Query if SSE3 is available. Present on Prescott, Core2 and later.
| bool MBDLL_DECL hasSSE41 | ( | ) |
Query if SSE4.1 is available. Present on Penryn (later Core 2)
| bool MBDLL_DECL hasSSE42 | ( | ) |
Query if SSE4.2 is available. Present on Nehalem (Core i5, Corei7)
| bool MBDLL_DECL hasAVX256 | ( | ) |
Query if AVX is available. present on Sandybridge.