FD.io VPP  v20.01-48-g3e0dafb74
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 (void *dst, const void *src, size_t n)
 

Function Documentation

◆ clib_memcpy_fast()

static void* clib_memcpy_fast ( 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 142 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 82 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 96 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 55 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 89 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 64 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 113 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 73 of file memcpy_avx512.h.

+ Here is the caller graph for this function: