FD.io VPP  v17.07.01-10-g3be13f0
Vector Packet Processing
memcpy_avx.h File Reference
+ Include dependency graph for memcpy_avx.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_mov64blocks (u8 *dst, const u8 *src, size_t n)
 
static void clib_mov256blocks (u8 *dst, const u8 *src, size_t n)
 
static void * clib_memcpy (void *dst, const void *src, size_t n)
 

Function Documentation

static void* clib_memcpy ( 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 256-byte blocks. Use copy block function for better instruction order control, which is important when load is unaligned.

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

Copy whatever left

Definition at line 150 of file memcpy_avx.h.

+ Here is the call graph for this function:

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

Definition at line 80 of file memcpy_avx.h.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

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

Definition at line 55 of file memcpy_avx.h.

+ Here is the caller graph for this function:

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

Definition at line 87 of file memcpy_avx.h.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

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

Definition at line 113 of file memcpy_avx.h.

+ Here is the caller graph for this function:

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

Definition at line 64 of file memcpy_avx.h.

+ Here is the caller graph for this function:

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

Definition at line 73 of file memcpy_avx.h.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

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

Definition at line 94 of file memcpy_avx.h.

+ Here is the caller graph for this function: