[PULL 06/61] util: add util function buffer_zero_avx512()

2020-03-16 Thread Paolo Bonzini
From: Robert Hoo 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()

Re: [PULL 06/61] util: add util function buffer_zero_avx512()

2020-03-16 Thread Paolo Bonzini
This breaks if AVX2 and AVX512 are both disabled but SSE2 isn't, because it calls buffer_is_zero_sse2 even with length < 64. Fix: diff --git a/util/bufferiszero.c b/util/bufferiszero.c index b6eab0c..6639035 100644 --- a/util/bufferiszero.c +++ b/util/bufferiszero.c @@ -247,23 +247,20 @@

[PULL 06/61] util: add util function buffer_zero_avx512()

2020-03-16 Thread Paolo Bonzini
From: Robert Hoo 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()