1) Introduce {enable,disable}-avx512f configure option 2) Implement new buffer_zero_avx512() with AVX512F instructions
Changes in v4: In init_cpuid_cache(), stringently test AVX512F OS level enablement. Changes in v3: In init_accel(), init length_to_accel value in every accel case, because in unit test, it will be invoked several times with different accel cases. (Thanks Richard's careful review) Changes in v2: 1. Fixes wrong definition of CACHE_SSE2 in v1. 2. Fixes not handle <256 length case in buffer_zero_avx512() implementaion. (Follow Richard's suggestion: handle the case in select_accel_fn(), and have a global variable alongside buffer_accel) 3. Changes avx512f configuration option's default status to disabled. 4. Ran 'make check-unit' on this patch, on both a Ivybridge machine and a CascadeLake machine. Robert Hoo (2): configure: add configure option avx512f_opt util: add util function buffer_zero_avx512() configure | 41 +++++++++++++++++++++++++++++ include/qemu/cpuid.h | 3 +++ util/bufferiszero.c | 74 +++++++++++++++++++++++++++++++++++++++++++++------- 3 files changed, 108 insertions(+), 10 deletions(-) -- 1.8.3.1