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"
47namespace Vc_VERSIONED_NAMESPACE
96template<
typename Impl>
115#ifndef Vc_COMPILE_LIB
150 return isImplementationSupported<Vc::CurrentImplementation>();
157#undef Vc_TARGET_NO_SIMD
unsigned int extraInstructionsSupported()
Determines the extra instructions supported by the current CPU.
Implementation
Enum to identify a certain SIMD instruction set.
bool currentImplementationSupported()
Tests that the CPU and Operating System support the vector unit which was compiled for.
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.