#include <stdint.h>
#include <string.h>
#include <emmintrin.h>
Functions |
static void | rte_mov16 (uint8_t *dst, const uint8_t *src) |
static void | rte_mov32 (uint8_t *dst, const uint8_t *src) |
static void | rte_mov48 (uint8_t *dst, const uint8_t *src) |
static void | rte_mov64 (uint8_t *dst, const uint8_t *src) |
static void | rte_mov128 (uint8_t *dst, const uint8_t *src) |
static void | rte_mov256 (uint8_t *dst, const uint8_t *src) |
Detailed Description
Functions for SSE implementation of memcpy().
Macro Definition Documentation
#define rte_memcpy |
( |
|
dst, |
|
|
|
src, |
|
|
|
n |
|
) |
| |
Value:((__builtin_constant_p(n)) ? \
memcpy((dst), (src), (n)) : \
rte_memcpy_func((dst), (src), (n)))
Copy bytes from one location to another. The locations must not overlap.
- Note
- This is implemented as a macro, so it's address should not be taken and care is needed as parameter expressions may be evaluated multiple times.
- Parameters
-
dst | Pointer to the destination of the data. |
src | Pointer to the source data. |
n | Number of bytes to copy. |
- Returns
- Pointer to the destination data.
Function Documentation
static void rte_mov128 |
( |
uint8_t * |
dst, |
|
|
const uint8_t * |
src |
|
) |
| |
|
inlinestatic |
Copy 128 bytes from one location to another using optimised SSE instructions. The locations should not overlap.
- Parameters
-
dst | Pointer to the destination of the data. |
src | Pointer to the source data. |
static void rte_mov16 |
( |
uint8_t * |
dst, |
|
|
const uint8_t * |
src |
|
) |
| |
|
inlinestatic |
Copy 16 bytes from one location to another using optimised SSE instructions. The locations should not overlap.
- Parameters
-
dst | Pointer to the destination of the data. |
src | Pointer to the source data. |
static void rte_mov256 |
( |
uint8_t * |
dst, |
|
|
const uint8_t * |
src |
|
) |
| |
|
inlinestatic |
Copy 256 bytes from one location to another using optimised SSE instructions. The locations should not overlap.
- Parameters
-
dst | Pointer to the destination of the data. |
src | Pointer to the source data. |
static void rte_mov32 |
( |
uint8_t * |
dst, |
|
|
const uint8_t * |
src |
|
) |
| |
|
inlinestatic |
Copy 32 bytes from one location to another using optimised SSE instructions. The locations should not overlap.
- Parameters
-
dst | Pointer to the destination of the data. |
src | Pointer to the source data. |
static void rte_mov48 |
( |
uint8_t * |
dst, |
|
|
const uint8_t * |
src |
|
) |
| |
|
inlinestatic |
Copy 48 bytes from one location to another using optimised SSE instructions. The locations should not overlap.
- Parameters
-
dst | Pointer to the destination of the data. |
src | Pointer to the source data. |
static void rte_mov64 |
( |
uint8_t * |
dst, |
|
|
const uint8_t * |
src |
|
) |
| |
|
inlinestatic |
Copy 64 bytes from one location to another using optimised SSE instructions. The locations should not overlap.
- Parameters
-
dst | Pointer to the destination of the data. |
src | Pointer to the source data. |