#ifndef FLTX4_H #define FLTX4_H #if defined(GNUC) #define USE_STDC_FOR_SIMD 0 #else #define USE_STDC_FOR_SIMD 0 #endif #if (!defined(PLATFORM_PPC) && (USE_STDC_FOR_SIMD == 0)) #define _SSE1 1 #endif #if USE_STDC_FOR_SIMD #error "hello" typedef union { float m128_f32[4]; uint32 m128_u32[4]; } fltx4; typedef fltx4 i32x4; typedef fltx4 u32x4; #ifdef _PS3 typedef fltx4 u32x4; typedef fltx4 i32x4; #endif typedef fltx4 bi32x4; #elif ( defined( _PS3 ) ) typedef union { vec_float4 vmxf; vec_int4 vmxi; vec_uint4 vmxui; #if defined(__SPU__) vec_uint4 vmxbi; #else __vector bool vmxbi; #endif struct { float x; float y; float z; float w; }; float m128_f32[4]; uint32 m128_u32[4]; int32 m128_i32[4]; } fltx4_union; typedef vec_float4 fltx4; typedef vec_uint4 u32x4; typedef vec_int4 i32x4; #if defined(__SPU__) typedef vec_uint4 bi32x4; #else typedef __vector bool bi32x4; #endif #define DIFFERENT_NATIVE_VECTOR_TYPES #elif ( defined( _X360 ) ) typedef union { __vector4 vmx; float m128_f32[4]; uint32 m128_u32[4]; } fltx4_union; typedef __vector4 fltx4; typedef __vector4 i32x4; typedef __vector4 u32x4; typedef fltx4 bi32x4; #else typedef __m128 fltx4; typedef __m128 i32x4; typedef __m128 u32x4; typedef __m128i shortx8; typedef fltx4 bi32x4; #endif #endif