FD.io VPP  v17.04.2-2-ga8f93f8
Vector Packet Processing
cpu.h File Reference
+ Include dependency graph for cpu.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Macros

#define foreach_march_variant(macro, x)
 
#define CLIB_CPU_OPTIMIZED
 
#define CLIB_MULTIARCH_ARCH_CHECK(arch, fn, tgt)
 
#define CLIB_MULTIARCH_SELECT_FN(fn, ...)
 
#define foreach_x86_64_flags
 

Functions

static int clib_get_cpuid (const u32 lev, u32 *eax, u32 *ebx, u32 *ecx, u32 *edx)
 

Variables

foreach_x86_64_flags format_function_t format_cpu_uarch
 
format_function_t format_cpu_model_name
 
format_function_t format_cpu_flags
 

Macro Definition Documentation

#define CLIB_CPU_OPTIMIZED

Definition at line 39 of file cpu.h.

#define CLIB_MULTIARCH_ARCH_CHECK (   arch,
  fn,
  tgt 
)
Value:
if (clib_cpu_supports_ ## arch()) \
return & fn ## _ ##arch;

Definition at line 43 of file cpu.h.

#define CLIB_MULTIARCH_SELECT_FN (   fn,
  ... 
)
Value:
__VA_ARGS__ void * fn ## _multiarch_select(void) \
{ \
return & fn; \
}
#define CLIB_MULTIARCH_ARCH_CHECK(arch, fn, tgt)
Definition: cpu.h:43
#define foreach_march_variant(macro, x)
Definition: cpu.h:32

Definition at line 47 of file cpu.h.

#define foreach_march_variant (   macro,
 
)

Definition at line 32 of file cpu.h.

#define foreach_x86_64_flags
Value:
_ (sse3, 1, ecx, 0) \
_ (ssse3, 1, ecx, 9) \
_ (sse41, 1, ecx, 19) \
_ (sse42, 1, ecx, 20) \
_ (avx, 1, ecx, 28) \
_ (avx2, 7, ebx, 5) \
_ (avx512f, 7, ebx, 16) \
_ (aes, 1, ecx, 25) \
_ (sha, 7, ebx, 29) \
_ (invariant_tsc, 0x80000007, edx, 8)

Definition at line 55 of file cpu.h.

Function Documentation

static int clib_get_cpuid ( const u32  lev,
u32 eax,
u32 ebx,
u32 ecx,
u32 edx 
)
inlinestatic

Definition at line 71 of file cpu.h.

Variable Documentation

format_function_t format_cpu_flags

Definition at line 104 of file cpu.h.

format_function_t format_cpu_model_name

Definition at line 103 of file cpu.h.

Definition at line 102 of file cpu.h.