Commit 1b6ddcc7 authored by Ben Walker's avatar Ben Walker Committed by Jim Harris
Browse files

nvme: Use AVX 512 instruction to copy SQE



Change-Id: I54521ad7af0ac51cbf5e54b019ab3e8f03ee90b8
Signed-off-by: default avatarBen Walker <benjamin.walker@intel.com>
Reviewed-on: https://review.gerrithub.io/c/spdk/spdk/+/451782


Tested-by: default avatarSPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: default avatarZiye Yang <ziye.yang@intel.com>
Reviewed-by: default avatarShuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com>
Reviewed-by: default avatarPaul Luse <paul.e.luse@intel.com>
Reviewed-by: default avatarJim Harris <james.r.harris@intel.com>
parent 2d4f7e20
Loading
Loading
Loading
Loading
+6 −1
Original line number Diff line number Diff line
@@ -1088,7 +1088,12 @@ static inline void
nvme_pcie_copy_command(struct spdk_nvme_cmd *dst, const struct spdk_nvme_cmd *src)
{
	/* dst and src are known to be non-overlapping and 64-byte aligned. */
#if defined(__AVX__)
#if defined(__AVX512F__)
	__m512i *d512 = (__m512i *)dst;
	const __m512i *s512 = (const __m512i *)src;

	_mm512_stream_si512(d512, _mm512_load_si512(s512));
#elif defined(__AVX__)
	__m256i *d256 = (__m256i *)dst;
	const __m256i *s256 = (const __m256i *)src;