Lift
Library of parallel computing primitives for GPUs and multi-core CPUs
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros
Classes | Functions | Variables
lift::x86_64 Namespace Reference

Classes

struct  cpuid_regs
 

Functions

static void cpuid (cpuid_regs &output, unsigned int code, unsigned int count=0)
 
static unsigned int cpuid_max (unsigned int extended=0)
 
static unsigned int cpuid_max_extended (void)
 
static void identify_vector_extensions (cpu_config &ret)
 
static void decode_cache_descriptor (cpu_config &ret, uint8 desc)
 
static void scan_leaf4_cache_info (cpu_config &ret)
 
static void identify_caches (cpu_config &ret)
 
static void get_cpu_brand_string (cpu_config &ret)
 

Variables

static constexpr uint32 SSE = 1 << 0
 
static constexpr uint32 SSE2 = 1 << 1
 
static constexpr uint32 SSE3 = 1 << 2
 
static constexpr uint32 SSE3_S = 1 << 3
 
static constexpr uint32 SSE4_1 = 1 << 4
 
static constexpr uint32 SSE4_2 = 1 << 5
 
static constexpr uint32 SSE4_a = 1 << 6
 
static constexpr uint32 SSE_XOP = 1 << 7
 
static constexpr uint32 SSE_FMA4 = 1 << 8
 
static constexpr uint32 SSE_FMA3 = 1 << 9
 
static constexpr uint32 SSE_F16C = 1 << 10
 
static constexpr uint32 AVX = 1 << 11
 
static constexpr uint32 AVX2 = 1 << 12
 
static constexpr uint32 CPUID_BIT_EDX_SSE = 1 << 25
 
static constexpr uint32 CPUID_BIT_EDX_SSE2 = 1 << 26
 
static constexpr uint32 CPUID_BIT_ECX_SSE3 = 1 << 0
 
static constexpr uint32 CPUID_BIT_ECX_SSSE3 = 1 << 9
 
static constexpr uint32 CPUID_BIT_ECX_SSE41 = 1 << 19
 
static constexpr uint32 CPUID_BIT_ECX_SSE42 = 1 << 20
 
static constexpr uint32 CPUID_BIT_ECX_FMA = 1 << 12
 
static constexpr uint32 CPUID_BIT_ECX_F16C = 1 << 29
 
static constexpr uint32 CPUID_BIT_ECX_AVX = 1 << 28
 
static constexpr uint32 CPUID_BIT_EBX_AVX2 = 1 << 5
 
static constexpr uint32 CPUID_BIT_ECX_SSE4A = 1 << 6
 
static constexpr uint32 CPUID_BIT_ECX_FMA4 = 1 << 16
 
static constexpr uint32 CPUID_BIT_ECX_XOP = 1 << 11
 

Function Documentation

static void lift::x86_64::cpuid ( cpuid_regs &  output,
unsigned int  code,
unsigned int  count = 0 
)
inlinestatic

Definition at line 52 of file x86_64_cpuid.cu.

static unsigned int lift::x86_64::cpuid_max ( unsigned int  extended = 0)
inlinestatic

Definition at line 65 of file x86_64_cpuid.cu.

static unsigned int lift::x86_64::cpuid_max_extended ( void  )
inlinestatic

Definition at line 72 of file x86_64_cpuid.cu.

static void lift::x86_64::decode_cache_descriptor ( cpu_config &  ret,
uint8  desc 
)
static

Definition at line 123 of file x86_64_cpuid.cu.

static void lift::x86_64::get_cpu_brand_string ( cpu_config &  ret)
static

Definition at line 300 of file x86_64_cpuid.cu.

static void lift::x86_64::identify_caches ( cpu_config &  ret)
static

Definition at line 259 of file x86_64_cpuid.cu.

static void lift::x86_64::identify_vector_extensions ( cpu_config &  ret)
static

Definition at line 79 of file x86_64_cpuid.cu.

static void lift::x86_64::scan_leaf4_cache_info ( cpu_config &  ret)
static

Definition at line 217 of file x86_64_cpuid.cu.

Variable Documentation

constexpr uint32 lift::x86_64::AVX = 1 << 11
static

Definition at line 49 of file vector_flags.h.

constexpr uint32 lift::x86_64::AVX2 = 1 << 12
static

Definition at line 50 of file vector_flags.h.

constexpr uint32 lift::x86_64::CPUID_BIT_EBX_AVX2 = 1 << 5
static

Definition at line 50 of file x86_64_cpuid.h.

constexpr uint32 lift::x86_64::CPUID_BIT_ECX_AVX = 1 << 28
static

Definition at line 47 of file x86_64_cpuid.h.

constexpr uint32 lift::x86_64::CPUID_BIT_ECX_F16C = 1 << 29
static

Definition at line 46 of file x86_64_cpuid.h.

constexpr uint32 lift::x86_64::CPUID_BIT_ECX_FMA = 1 << 12
static

Definition at line 45 of file x86_64_cpuid.h.

constexpr uint32 lift::x86_64::CPUID_BIT_ECX_FMA4 = 1 << 16
static

Definition at line 54 of file x86_64_cpuid.h.

constexpr uint32 lift::x86_64::CPUID_BIT_ECX_SSE3 = 1 << 0
static

Definition at line 41 of file x86_64_cpuid.h.

constexpr uint32 lift::x86_64::CPUID_BIT_ECX_SSE41 = 1 << 19
static

Definition at line 43 of file x86_64_cpuid.h.

constexpr uint32 lift::x86_64::CPUID_BIT_ECX_SSE42 = 1 << 20
static

Definition at line 44 of file x86_64_cpuid.h.

constexpr uint32 lift::x86_64::CPUID_BIT_ECX_SSE4A = 1 << 6
static

Definition at line 53 of file x86_64_cpuid.h.

constexpr uint32 lift::x86_64::CPUID_BIT_ECX_SSSE3 = 1 << 9
static

Definition at line 42 of file x86_64_cpuid.h.

constexpr uint32 lift::x86_64::CPUID_BIT_ECX_XOP = 1 << 11
static

Definition at line 55 of file x86_64_cpuid.h.

constexpr uint32 lift::x86_64::CPUID_BIT_EDX_SSE = 1 << 25
static

Definition at line 39 of file x86_64_cpuid.h.

constexpr uint32 lift::x86_64::CPUID_BIT_EDX_SSE2 = 1 << 26
static

Definition at line 40 of file x86_64_cpuid.h.

constexpr uint32 lift::x86_64::SSE = 1 << 0
static

Definition at line 38 of file vector_flags.h.

constexpr uint32 lift::x86_64::SSE2 = 1 << 1
static

Definition at line 39 of file vector_flags.h.

constexpr uint32 lift::x86_64::SSE3 = 1 << 2
static

Definition at line 40 of file vector_flags.h.

constexpr uint32 lift::x86_64::SSE3_S = 1 << 3
static

Definition at line 41 of file vector_flags.h.

constexpr uint32 lift::x86_64::SSE4_1 = 1 << 4
static

Definition at line 42 of file vector_flags.h.

constexpr uint32 lift::x86_64::SSE4_2 = 1 << 5
static

Definition at line 43 of file vector_flags.h.

constexpr uint32 lift::x86_64::SSE4_a = 1 << 6
static

Definition at line 44 of file vector_flags.h.

constexpr uint32 lift::x86_64::SSE_F16C = 1 << 10
static

Definition at line 48 of file vector_flags.h.

constexpr uint32 lift::x86_64::SSE_FMA3 = 1 << 9
static

Definition at line 47 of file vector_flags.h.

constexpr uint32 lift::x86_64::SSE_FMA4 = 1 << 8
static

Definition at line 46 of file vector_flags.h.

constexpr uint32 lift::x86_64::SSE_XOP = 1 << 7
static

Definition at line 45 of file vector_flags.h.