From 0b2a642351f375cb9be3d2569a0ac0417340c741 Mon Sep 17 00:00:00 2001 From: Romain Dolbeau Date: Wed, 30 Oct 2019 20:26:14 +0100 Subject: Add AVX512BW variant of fletcher It is much faster than AVX512F when byteswapping on Skylake-SP and newer, as we can do the byteswap in a single vshufb instead of many instructions. Reviewed by: Gvozden Neskovic Reviewed-by: Chunwei Chen Reviewed-by: Brian Behlendorf Signed-off-by: Romain Dolbeau Closes #9517 --- module/zcommon/zfs_fletcher.c | 3 +++ 1 file changed, 3 insertions(+) (limited to 'module/zcommon/zfs_fletcher.c') diff --git a/module/zcommon/zfs_fletcher.c b/module/zcommon/zfs_fletcher.c index 1280ace31..f955dc8d9 100644 --- a/module/zcommon/zfs_fletcher.c +++ b/module/zcommon/zfs_fletcher.c @@ -184,6 +184,9 @@ static const fletcher_4_ops_t *fletcher_4_impls[] = { #if defined(__x86_64) && defined(HAVE_AVX512F) &fletcher_4_avx512f_ops, #endif +#if defined(__x86_64) && defined(HAVE_AVX512BW) + &fletcher_4_avx512bw_ops, +#endif #if defined(__aarch64__) &fletcher_4_aarch64_neon_ops, #endif -- cgit v1.2.3