00001 00002 // 00003 // Copyright (c) 2011 Audiokinetic Inc. / All Rights Reserved 00004 // 00006 00007 // AkSimd.h 00008 00011 00012 #pragma once 00013 00014 #include <AK/SoundEngine/Common/AkTypes.h> 00015 00016 #if defined AK_CPU_ARM_NEON 00017 00019 #define AKSIMD_GETELEMENT_V4F32( __vName, __num__ ) (__vName)[(__num__)] 00020 #define AKSIMD_GETELEMENT_V2F32( __vName, __num__ ) (__vName)[(__num__)] 00021 #define AKSIMD_GETELEMENT_V4I32( __vName, __num__ ) (__vName)[(__num__)] 00022 00023 #include <AK/SoundEngine/Platforms/arm_neon/AkSimd.h> 00024 00025 #elif defined AK_CPU_X86 || defined AK_CPU_X86_64 00026 00027 #include <AK/SoundEngine/Platforms/SSE/AkSimd.h> 00028 00029 #else 00030 00031 #include <AK/SoundEngine/Platforms/Generic/AkSimd.h> 00032 00033 #endif 00034 00035 #ifndef AKSIMD_GETELEMENT_V4F32 00036 00037 #define AKSIMD_GETELEMENT_V4F32( __vName, __num__ ) ((float*)&(__vName))[(__num__)] ///< Retrieve scalar element from vector. 00038 #endif 00039 00040 #ifndef AKSIMD_GETELEMENT_V2F32 00041 #define AKSIMD_GETELEMENT_V2F32( __vName, __num__ ) ((float*)&(__vName))[(__num__)] ///< Retrieve scalar element from vector. 00042 #endif 00043 00044 #ifndef AKSIMD_GETELEMENT_V4I32 00045 00046 #define AKSIMD_GETELEMENT_V4I32( __vName, __num__ ) ((int*)&(__vName))[(__num__)] ///< Retrieve scalar element from vector. 00047 #endif
Questions? Problems? Need more info? Contact us, and we can help!
Visit our Support pageRegister your project and we'll help you get started with no strings attached!
Get started with Wwise