7 #ifndef __math_Vector_gnu_h__ 8 #define __math_Vector_gnu_h__ 10 #if FE_SSE>=1 && FE_COMPILER==FE_GNU 13 #if __GNUC__ > 3 || ( __GNUC__ == 3 && __GNUC_MINOR__ >= 4) 15 #if FE_MEM_ALIGNMENT<16 16 #error FE_SSE requires FE_MEM_ALIGNMENT>=16 23 typedef float v4sf __attribute__ ((vector_size (16)));
26 inline void v4sf_assertAlignment(
const v4sf& value)
28 #if FE_CODEGEN<FE_PROFILE 31 feX(
"v4sf_assertAlignment",
"v4sf misalignment");
35 inline void v4sf_setSame(v4sf& value,
const F32 element)
37 reinterpret_cast<F32*
>(&value)[0]=element;
38 value=__builtin_ia32_shufps(value,value,0x00);
42 inline void v4sf_log(String text,
const v4sf& value);
56 inline void v4sf_log(String text,
const v4sf& value)
58 const F32* v=
reinterpret_cast<const F32*
>(&value);
59 feLog(
"%s %s\n",print(Vector<4,F32>(v)).c_str(),text.
c_str());
67 #endif // FE_SSE>=1 && FE_COMPILER==FE_GNU const FESTRING_I8 * c_str(void) const
Return the contents of the 8-bit buffer cast as signed bytes.
Definition: String.h:352
kernel
Definition: namespace.dox:3