FD.io VPP
v17.04.2-2-ga8f93f8
Vector Packet Processing
|
Go to the source code of this file.
Macros | |
#define | CLIB_MVUNALIGN_LEFT47_IMM(dst, src, len, offset) |
Macro for copying unaligned block from one location to another with constant load offset, 47 bytes leftover maximum, locations should not overlap. More... | |
#define | CLIB_MVUNALIGN_LEFT47(dst, src, len, offset) |
Macro for copying unaligned block from one location to another, 47 bytes leftover maximum, locations should not overlap. More... | |
Typedefs | |
typedef u8 | u8x16u |
typedef u8 | u8x32u |
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_memcpy (void *dst, const void *src, size_t n) |
#define CLIB_MVUNALIGN_LEFT47 | ( | dst, | |
src, | |||
len, | |||
offset | |||
) |
Macro for copying unaligned block from one location to another, 47 bytes leftover maximum, locations should not overlap.
Use switch here because the aligning instruction requires immediate value for shift count. Requirements:
Definition at line 162 of file memcpy_sse3.h.
#define CLIB_MVUNALIGN_LEFT47_IMM | ( | dst, | |
src, | |||
len, | |||
offset | |||
) |
Macro for copying unaligned block from one location to another with constant load offset, 47 bytes leftover maximum, locations should not overlap.
Requirements:
Definition at line 101 of file memcpy_sse3.h.
Definition at line 54 of file memcpy_sse3.h.
Definition at line 55 of file memcpy_sse3.h.
|
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, and make sure the first 15 bytes are copied, because unaligned copy functions require up to 15 bytes backwards access.
For aligned copy
Copy 256-byte blocks
Copy whatever left
For copy with unaligned load
Copy whatever left
Definition at line 185 of file memcpy_sse3.h.
Definition at line 77 of file memcpy_sse3.h.
Definition at line 84 of file memcpy_sse3.h.
Definition at line 70 of file memcpy_sse3.h.