aboutsummaryrefslogtreecommitdiff
path: root/sys/contrib/openzfs/include/os/linux/kernel/linux/simd_x86.h
diff options
context:
space:
mode:
Diffstat (limited to 'sys/contrib/openzfs/include/os/linux/kernel/linux/simd_x86.h')
-rw-r--r--sys/contrib/openzfs/include/os/linux/kernel/linux/simd_x86.h15
1 files changed, 15 insertions, 0 deletions
diff --git a/sys/contrib/openzfs/include/os/linux/kernel/linux/simd_x86.h b/sys/contrib/openzfs/include/os/linux/kernel/linux/simd_x86.h
index 2f6c3165ac7a..1d77f0487a30 100644
--- a/sys/contrib/openzfs/include/os/linux/kernel/linux/simd_x86.h
+++ b/sys/contrib/openzfs/include/os/linux/kernel/linux/simd_x86.h
@@ -53,6 +53,8 @@
* zfs_bmi1_available()
* zfs_bmi2_available()
*
+ * zfs_shani_available()
+ *
* zfs_avx512f_available()
* zfs_avx512cd_available()
* zfs_avx512er_available()
@@ -587,6 +589,19 @@ zfs_movbe_available(void)
}
/*
+ * Check if SHA_NI instruction set is available
+ */
+static inline boolean_t
+zfs_shani_available(void)
+{
+#if defined(X86_FEATURE_SHA_NI)
+ return (!!boot_cpu_has(X86_FEATURE_SHA_NI));
+#else
+ return (B_FALSE);
+#endif
+}
+
+/*
* AVX-512 family of instruction sets:
*
* AVX512F Foundation