summary refs log tree commit diff stats
path: root/include/qemu
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/qemu
parent6b8cd447efdad1d8bb637904e5077900d063e05d (diff)
downloadfocaccia-qemu-27f08ea1c7abf04125f6f9f23b8ba2f8c20e95b6.tar.gz
focaccia-qemu-27f08ea1c7abf04125f6f9f23b8ba2f8c20e95b6.zip
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/qemu')
-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