summaryrefslogtreecommitdiffstats
path: root/include/qemu
diff options
context:
space:
mode:
authorRobert Hoo2020-02-29 13:34:35 +0100
committerPaolo Bonzini2020-03-16 23:02:21 +0100
commit27f08ea1c7abf04125f6f9f23b8ba2f8c20e95b6 (patch)
treed662b5e1b0feb05cedcdab370651c895abc41c97 /include/qemu
parentconfigure: add configure option avx512f_opt (diff)
downloadqemu-27f08ea1c7abf04125f6f9f23b8ba2f8c20e95b6.tar.gz
qemu-27f08ea1c7abf04125f6f9f23b8ba2f8c20e95b6.tar.xz
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