Skip to content
Snippets Groups Projects
Unverified Commit 9ba07907 authored by Yann Collet's avatar Yann Collet Committed by GitHub
Browse files

Merge pull request #2836 from animalize/copy16

ZSTD_copy16() uses ZSTD_memcpy()
parents a071e006 b10357ce
No related branches found
No related tags found
No related merge requests found
......@@ -176,11 +176,17 @@ static void ZSTD_copy8(void* dst, const void* src) {
ZSTD_memcpy(dst, src, 8);
#endif
}
#define COPY8(d,s) { ZSTD_copy8(d,s); d+=8; s+=8; }
/* Need to use memmove here since the literal buffer can now be located within
the dst buffer. In circumstances where the op "catches up" to where the
literal buffer is, there can be partial overlaps in this call on the final
copy if the literal is being shifted by less than 16 bytes. */
static void ZSTD_copy16(void* dst, const void* src) {
#if defined(ZSTD_ARCH_ARM_NEON)
vst1q_u8((uint8_t*)dst, vld1q_u8((const uint8_t*)src));
#elif defined(ZSTD_ARCH_X86_SSE2)
_mm_storeu_si128((__m128i*)dst, _mm_loadu_si128((const __m128i*)src));
#else
ZSTD_memmove(dst, src, 16);
#endif
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment