nvme: Use AVX 512 instruction to copy SQE
Change-Id: I54521ad7af0ac51cbf5e54b019ab3e8f03ee90b8 Signed-off-by: Ben Walker <benjamin.walker@intel.com> Reviewed-on: https://review.gerrithub.io/c/spdk/spdk/+/451782 Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Reviewed-by: Ziye Yang <ziye.yang@intel.com> Reviewed-by: Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com> Reviewed-by: Paul Luse <paul.e.luse@intel.com> Reviewed-by: Jim Harris <james.r.harris@intel.com>
This commit is contained in:
parent
2d4f7e20a6
commit
1b6ddcc713
@ -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;
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user