35 #if defined AK_CPU_X86 || defined AK_CPU_X86_64
36 #define AKSIMD_GETELEMENT_V4I32( __vName, __num__ ) (__vName).m128i_i32[(__num__)]
37 #define AKSIMD_GETELEMENT_V4F32( __vName, __num__ ) (__vName).m128_f32[(__num__)]
38 #define AKSIMD_GETELEMENT_V2F32( __vName, __num__ ) (__vName).m64_f32[(__num__)]
39 #define AKSIMD_GETELEMENT_V2I64( __vName, __num__ ) (__vName).m128i_i64[(__num__)]
44 #if defined AK_CPU_ARM_NEON
45 #define AKSIMD_GETELEMENT_V4I32( __vName, __num__ ) (__vName).n128_i32[(__num__)]
46 #define AKSIMD_GETELEMENT_V4F32( __vName, __num__ ) (__vName).n128_f32[(__num__)]
47 #define AKSIMD_GETELEMENT_V2F32( __vName, __num__ ) (__vName).n64_f32[(__num__)]
48 #define AKSIMD_GETELEMENT_V2I64( __vName, __num__ ) (__vName).n128i_i64[(__num__)]
50 #define AKSIMD_DECLARE_V4F32_TYPE DirectX::XMVECTORF32
51 #define AKSIMD_DECLARE_V4F32( _x, _a, _b, _c, _d ) AKSIMD_DECLARE_V4F32_TYPE _x = { _a, _b, _c, _d }
53 #define AKSIMD_DECLARE_V4I32_TYPE DirectX::XMVECTORI32
54 #define AKSIMD_DECLARE_V4I32( _x, _a, _b, _c, _d ) AKSIMD_DECLARE_V4I32_TYPE _x = { _a, _b, _c, _d }
56 #include <DirectXMath.h>