NebulaStream
0.6.213
NebulaStream is a data and application management framework for the internet of things
|
#include <stdint.h>
#include <stdio.h>
#include <string.h>
#include <x86intrin.h>
Macros | |
#define | ALIGNMENT_MASK 0x0F |
#define | MOVEUNALIGNED_LEFT47_IMM(dst, src, len, offset) |
#define | MOVEUNALIGNED_LEFT47(dst, src, len, offset) |
Functions for SSE/AVX/AVX2/AVX512 implementation of memcpy().
#define ALIGNMENT_MASK 0x0F |
#define MOVEUNALIGNED_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:
#define MOVEUNALIGNED_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: