libsimdpp  1.0
Dispatching support

Typedefs

using simdpp::GetArchCb = std::function< Arch()>
 

Enumerations

enum  simdpp::Arch : std::uint32_t {
  simdpp::Arch::NONE_NULL = 0,
  simdpp::Arch::X86_SSE2 = 1 << 1,
  simdpp::Arch::X86_SSE3 = 1 << 2,
  simdpp::Arch::X86_SSSE3 = 1 << 3,
  simdpp::Arch::X86_SSE4_1 = 1 << 4,
  simdpp::Arch::X86_AVX = 1 << 5,
  simdpp::Arch::X86_AVX2 = 1 << 6,
  simdpp::Arch::X86_FMA3 = 1 << 7,
  simdpp::Arch::X86_FMA4 = 1 << 8,
  simdpp::Arch::X86_XOP = 1 << 9,
  simdpp::Arch::ARM_NEON = 1 << 0,
  simdpp::Arch::ARM_NEON_FLT_SP = 1 << 1,
  simdpp::Arch::POWER_ALTIVEC = 1 << 0
}
 Identifies supported instruction set. More...
 

Functions

Arch simdpp::this_compile_arch ()
 Returns the instruction set flags that will be required by the currently compiled code. More...
 
Arch & simdpp::operator|= (Arch &x, const Arch &y)
 Bitwise operators for Arch. More...
 
Arch & simdpp::operator&= (Arch &x, const Arch &y)
 Bitwise operators for Arch. More...
 
Arch simdpp::operator| (const Arch &x, const Arch &y)
 Bitwise operators for Arch. More...
 
Arch simdpp::operator& (const Arch &x, const Arch &y)
 Bitwise operators for Arch. More...
 
Arch simdpp::operator~ (const Arch &x)
 Bitwise operators for Arch. More...
 

Detailed Description

Typedef Documentation

using simdpp::GetArchCb = typedef std::function<Arch()>

Enumeration Type Documentation

enum simdpp::Arch : std::uint32_t
strong

Identifies supported instruction set.

This type is a bitmask type

Note: the exact values may change release to release.

Enumerator
NONE_NULL 

Indicates that no SIMD instructions are supported.

X86_SSE2 

Indicates x86 SSE2 support.

X86_SSE3 

Indicates x86 SSE3 support.

X86_SSSE3 

Indicates x86 SSSE3 support.

X86_SSE4_1 

Indicates x86 SSE4.1 support.

X86_AVX 

Indicates x86 AVX support.

X86_AVX2 

Indicates x86 AVX2 support.

X86_FMA3 

Indicates x86 FMA3 (Intel) support.

X86_FMA4 

Indicates x86 FMA4 (AMD) support.

X86_XOP 

Indicates x86 XOP (AMD) support.

ARM_NEON 

Indicates ARM NEON support (SP and DP floating-point math is executed on VFP)

ARM_NEON_FLT_SP 

Indicates ARM NEON support (SP floating-point math is executed on NEON, DP floating-point math is executed on VFP)

POWER_ALTIVEC 

Indicates POWER ALTIVEC support.

Function Documentation

Arch simdpp::operator& ( const Arch &  x,
const Arch &  y 
)
inline

Bitwise operators for Arch.

Arch& simdpp::operator&= ( Arch &  x,
const Arch &  y 
)
inline

Bitwise operators for Arch.

Arch simdpp::operator| ( const Arch &  x,
const Arch &  y 
)
inline

Bitwise operators for Arch.

Arch& simdpp::operator|= ( Arch &  x,
const Arch &  y 
)
inline

Bitwise operators for Arch.

Arch simdpp::operator~ ( const Arch &  x)
inline

Bitwise operators for Arch.

Arch simdpp::this_compile_arch ( )
inline

Returns the instruction set flags that will be required by the currently compiled code.