LAL  7.5.0.1-08ee4f4
LALSIMD.h File Reference

Prototypes

int XLALHaveSIMDInstructionSet (LAL_SIMD_ISET iset)
 Return true if the executing machine supports the given instruction set. More...
 
const char * XLALSIMDInstructionSetName (LAL_SIMD_ISET iset)
 Return the name of a given instruction set as a string. More...
 

Go to the source code of this file.

Macros

Convenience macros for SIMD runtime selection
#define LAL_HAVE_SSE_RUNTIME()   (XLALHaveSIMDInstructionSet(LAL_SIMD_ISET_SSE))
 
#define LAL_HAVE_SSE2_RUNTIME()   (XLALHaveSIMDInstructionSet(LAL_SIMD_ISET_SSE2))
 
#define LAL_HAVE_SSE3_RUNTIME()   (XLALHaveSIMDInstructionSet(LAL_SIMD_ISET_SSE3))
 
#define LAL_HAVE_SSSE3_RUNTIME()   (XLALHaveSIMDInstructionSet(LAL_SIMD_ISET_SSSE3))
 
#define LAL_HAVE_SSE4_1_RUNTIME()   (XLALHaveSIMDInstructionSet(LAL_SIMD_ISET_SSE4_1))
 
#define LAL_HAVE_SSE4_2_RUNTIME()   (XLALHaveSIMDInstructionSet(LAL_SIMD_ISET_SSE4_2))
 
#define LAL_HAVE_AVX_RUNTIME()   (XLALHaveSIMDInstructionSet(LAL_SIMD_ISET_AVX))
 
#define LAL_HAVE_AVX2_RUNTIME()   (XLALHaveSIMDInstructionSet(LAL_SIMD_ISET_AVX2))
 

Enumerations

enum  LAL_SIMD_ISET {
  LAL_SIMD_ISET_GEN , LAL_SIMD_ISET_SSE , LAL_SIMD_ISET_SSE2 , LAL_SIMD_ISET_SSE3 ,
  LAL_SIMD_ISET_SSSE3 , LAL_SIMD_ISET_SSE4_1 , LAL_SIMD_ISET_SSE4_2 , LAL_SIMD_ISET_AVX ,
  LAL_SIMD_ISET_AVX2 , LAL_SIMD_ISET_MAX
}
 SIMD instruction sets this module can detect. More...