FD.io VPP  v21.10.1-2-g0a485f517
Vector Packet Processing
memcpy_avx512.h File Reference
+ Include dependency graph for memcpy_avx512.h:

Go to the source code of this file.

Functions

static void clib_mov16 (u8 *dst, const u8 *src)
 
static void clib_mov32 (u8 *dst, const u8 *src)
 
static void clib_mov64 (u8 *dst, const u8 *src)
 
static void clib_mov128 (u8 *dst, const u8 *src)
 
static void clib_mov256 (u8 *dst, const u8 *src)
 
static void clib_mov128blocks (u8 *dst, const u8 *src, size_t n)
 
static void clib_mov512blocks (u8 *dst, const u8 *src, size_t n)
 
static void * clib_memcpy_fast_avx512 (void *dst, const void *src, size_t n)
 

Function Documentation

◆ clib_memcpy_fast_avx512()

static void* clib_memcpy_fast_avx512 ( void *  dst,
const void *  src,
size_t  n 
)
inlinestatic

Copy less than 16 bytes

Fast way when copy size doesn't exceed 512 bytes

Make store aligned when copy size exceeds 512 bytes

Copy 512-byte blocks. Use copy block function for better instruction order control, which is important when load is unaligned.

Copy 128-byte blocks. Use copy block function for better instruction order control, which is important when load is unaligned.

Copy whatever left

Definition at line 147 of file memcpy_avx512.h.

+ Here is the call graph for this function:

◆ clib_mov128()

static void clib_mov128 ( u8 dst,
const u8 src 
)
inlinestatic

Definition at line 87 of file memcpy_avx512.h.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ clib_mov128blocks()

static void clib_mov128blocks ( u8 dst,
const u8 src,
size_t  n 
)
inlinestatic

Definition at line 101 of file memcpy_avx512.h.

+ Here is the caller graph for this function:

◆ clib_mov16()

static void clib_mov16 ( u8 dst,
const u8 src 
)
inlinestatic

Definition at line 60 of file memcpy_avx512.h.

+ Here is the caller graph for this function:

◆ clib_mov256()

static void clib_mov256 ( u8 dst,
const u8 src 
)
inlinestatic

Definition at line 94 of file memcpy_avx512.h.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ clib_mov32()

static void clib_mov32 ( u8 dst,
const u8 src 
)
inlinestatic

Definition at line 69 of file memcpy_avx512.h.

+ Here is the caller graph for this function:

◆ clib_mov512blocks()

static void clib_mov512blocks ( u8 dst,
const u8 src,
size_t  n 
)
inlinestatic

Definition at line 118 of file memcpy_avx512.h.

+ Here is the caller graph for this function:

◆ clib_mov64()

static void clib_mov64 ( u8 dst,
const u8 src 
)
inlinestatic

Definition at line 78 of file memcpy_avx512.h.

+ Here is the caller graph for this function: