Vector Optimized Library of Kernels  2.0
Architecture-tuned implementations of math kernels
volk_cpu.tmpl.c File Reference
#include <volk/volk_cpu.h>
#include <volk/volk_config_fixed.h>
#include <stdlib.h>
#include <string.h>

Functions

static unsigned int cpuid_count_x86_bit (unsigned int level, unsigned int count, unsigned int reg, unsigned int bit)
 
static unsigned int cpuid_x86_bit (unsigned int reg, unsigned int op, unsigned int bit)
 
static unsigned int check_extended_cpuid (unsigned int val)
 
static unsigned int get_avx_enabled (void)
 
static unsigned int get_avx2_enabled (void)
 
static unsigned int get_avx512_enabled (void)
 
static int has_neonv7 (void)
 
static int has_neonv8 (void)
 
static int has_neon (void)
 
for arch in params in arch join (params)%>$
 
static endfor void set_float_rounding (void)
 
void volk_cpu_init ()
 
unsigned int volk_get_lvarch ()
 

Variables

struct VOLK_CPU volk_cpu
 
for arch in archs
 
for arch in params in arch checks
 
endfor return == 0) return 0
 

Function Documentation

◆ check_extended_cpuid()

static unsigned int check_extended_cpuid ( unsigned int  val)
inlinestatic

◆ cpuid_count_x86_bit()

static unsigned int cpuid_count_x86_bit ( unsigned int  level,
unsigned int  count,
unsigned int  reg,
unsigned int  bit 
)
inlinestatic

◆ cpuid_x86_bit()

static unsigned int cpuid_x86_bit ( unsigned int  reg,
unsigned int  op,
unsigned int  bit 
)
inlinestatic

◆ get_avx2_enabled()

static unsigned int get_avx2_enabled ( void  )
inlinestatic

◆ get_avx512_enabled()

static unsigned int get_avx512_enabled ( void  )
inlinestatic

◆ get_avx_enabled()

static unsigned int get_avx_enabled ( void  )
inlinestatic

◆ has_neon()

static int has_neon ( void  )
static

◆ has_neonv7()

static int has_neonv7 ( void  )
static

◆ has_neonv8()

static int has_neonv8 ( void  )
static

◆ join()

for arch in params in arch join ( params  )

◆ set_float_rounding()

static endfor void set_float_rounding ( void  )
inlinestatic

◆ volk_cpu_init()

void volk_cpu_init ( )

◆ volk_get_lvarch()

unsigned int volk_get_lvarch ( )

Variable Documentation

◆ archs

for arch in archs

◆ checks

for arch in params in arch checks

◆ return

endfor return == 0) return 0

◆ volk_cpu

struct VOLK_CPU volk_cpu