1) Introduce {enable,disable}-avx512f configure option 2) Implement new buffer_zero_avx512() with AVX512F instructions
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 | 67 +++++++++++++++++++++++++++++++++++++++++++++------- 3 files changed, 102 insertions(+), 9 deletions(-) -- 1.8.3.1