28 #ifndef VC_COMMON_SUPPORT_H_
29 #define VC_COMMON_SUPPORT_H_
32 #error "Vc/global.h must be included first!"
35 #if defined __x86_64__ || defined __amd64__ || defined __amd64 || defined __x86_64 || \
36 defined _M_AMD64 || defined __i386__
40 #if defined(Vc_GCC) && Vc_GCC >= 0x40400 && defined __SSE__
41 #define Vc_TARGET_NO_SIMD __attribute__((target("no-sse2,no-avx")))
43 #define Vc_TARGET_NO_SIMD
46 #include "common/macros.h"
47 namespace Vc_VERSIONED_NAMESPACE
96 template<
typename Impl>
115 #ifndef Vc_COMPILE_LIB
150 return isImplementationSupported<Vc::CurrentImplementation>();
157 #undef Vc_TARGET_NO_SIMD
Implementation
Enum to identify a certain SIMD instruction set.
unsigned int extraInstructionsSupported()
Determines the extra instructions supported by the current CPU.
Vc::Implementation bestImplementationSupported()
Determines the best supported implementation for the current system.
bool isImplementationSupported(Vc::Implementation impl)
Tests whether the given implementation is supported by the system the code is executing on.
bool currentImplementationSupported()
Tests that the CPU and Operating System support the vector unit which was compiled for.