aboutsummaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorRobert Hoo <robert.hu@linux.intel.com>2020-02-29 20:34:35 +0800
committerPaolo Bonzini <pbonzini@redhat.com>2020-03-16 23:02:21 +0100
commit27f08ea1c7abf04125f6f9f23b8ba2f8c20e95b6 (patch)
treed662b5e1b0feb05cedcdab370651c895abc41c97 /include
parent6b8cd447efdad1d8bb637904e5077900d063e05d (diff)
util: add util function buffer_zero_avx512()
And intialize buffer_is_zero() with it, when Intel AVX512F is available on host. This function utilizes Intel AVX512 fundamental instructions which is faster than its implementation with AVX2 (in my unit test, with 4K buffer, on CascadeLake SP, ~36% faster, buffer_zero_avx512() V.S. buffer_zero_avx2()). Signed-off-by: Robert Hoo <robert.hu@linux.intel.com> Reviewed-by: Richard Henderson <richard.henderson@linaro.org> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Diffstat (limited to 'include')
-rw-r--r--include/qemu/cpuid.h3
1 files changed, 3 insertions, 0 deletions
diff --git a/include/qemu/cpuid.h b/include/qemu/cpuid.h
index 69301700bd..09fc245b91 100644
--- a/include/qemu/cpuid.h
+++ b/include/qemu/cpuid.h
@@ -45,6 +45,9 @@
#ifndef bit_AVX2
#define bit_AVX2 (1 << 5)
#endif
+#ifndef bit_AVX512F
+#define bit_AVX512F (1 << 16)
+#endif
#ifndef bit_BMI2
#define bit_BMI2 (1 << 8)
#endif