Go to the source code of this file.
|
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) |
|
static void * | rte_memcpy (void *dst, const void *src, size_t n) |
|
Functions for vectorised implementation of memcpy().
Definition in file rte_memcpy.h.
static void rte_mov16 |
( |
uint8_t * |
dst, |
|
|
const uint8_t * |
src |
|
) |
| |
|
inlinestatic |
Copy 16 bytes from one location to another using optimised 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 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 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 instructions. The locations should not overlap.
- Parameters
-
dst | Pointer to the destination of the data. |
src | Pointer to the source data. |
static void rte_mov128 |
( |
uint8_t * |
dst, |
|
|
const uint8_t * |
src |
|
) |
| |
|
inlinestatic |
Copy 128 bytes from one location to another using optimised 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 instructions. The locations should not overlap.
- Parameters
-
dst | Pointer to the destination of the data. |
src | Pointer to the source data. |
static void* rte_memcpy |
( |
void * |
dst, |
|
|
const void * |
src, |
|
|
size_t |
n |
|
) |
| |
|
static |
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.
-
For x86 platforms to enable the AVX-512 memcpy implementation, set -DRTE_MEMCPY_AVX512 macro in CFLAGS, or define the RTE_MEMCPY_AVX512 macro explicitly in the source file before including the rte_memcpy header file.
- 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.
- Examples:
- examples/bbdev_app/main.c, examples/ipsec-secgw/esp.c, examples/l2fwd-cat/cat.c, examples/l2fwd-crypto/main.c, examples/netmap_compat/lib/compat_netmap.c, examples/ptpclient/ptpclient.c, examples/tep_termination/vxlan.c, examples/vhost/main.c, examples/vhost/virtio_net.c, examples/vmdq/main.c, and examples/vmdq_dcb/main.c.