On 23 February 2016 at 07:30, Amit Shah <amit.s...@redhat.com> wrote: > The following changes since commit 8eb779e4223a18db9838a49ece1bc72cfdfb7761: > > Merge remote-tracking branch 'remotes/kevin/tags/for-upstream' into staging > (2016-02-22 16:55:41 +0000) > > are available in the git repository at: > > https://git.kernel.org/pub/scm/virt/qemu/amit/migration.git > tags/migration-for-2.6-3 > > for you to fetch changes up to 612f0af57aa1e8d4e09d7f1a1c442e1d943cbf0c: > > cutils: add avx2 instruction optimization (2016-02-23 12:53:03 +0530) > > ---------------------------------------------------------------- > Migration: > - enable avx2 instructions when available > - fix a qcow2 assert > - minor code rearrangement
Hi. I'm afraid this doesn't compile for x86-64 Linux: /home/petmay01/linaro/qemu-for-merges/util/cutils.c: In function ‘can_use_buffer_find_nonzero_offset_avx2’: /home/petmay01/linaro/qemu-for-merges/util/cutils.c:242:29: error: ‘__m256i’ undeclared (first use in this function) * sizeof(AVX2_VECTYPE)) == 0 ^ /home/petmay01/linaro/qemu-for-merges/util/cutils.c:242:29: note: each undeclared identifier is reported only once for each function it appears in /home/petmay01/linaro/qemu-for-merges/util/cutils.c: In function ‘buffer_find_nonzero_offset_avx2’: /home/petmay01/linaro/qemu-for-merges/util/cutils.c:248:5: error: unknown type name ‘__m256i’ const AVX2_VECTYPE *p = buf; ^ /home/petmay01/linaro/qemu-for-merges/util/cutils.c:249:5: error: unknown type name ‘__m256i’ const AVX2_VECTYPE zero = (AVX2_VECTYPE){0}; ^ /home/petmay01/linaro/qemu-for-merges/util/cutils.c:249:27: error: ‘__m256i’ undeclared (first use in this function) const AVX2_VECTYPE zero = (AVX2_VECTYPE){0}; ^ /home/petmay01/linaro/qemu-for-merges/util/cutils.c:249:35: error: expected ‘,’ or ‘;’ before ‘{’ token const AVX2_VECTYPE zero = (AVX2_VECTYPE){0}; ^ /home/petmay01/linaro/qemu-for-merges/util/cutils.c:259:9: error: implicit declaration of function ‘_mm256_movemask_epi8’ [-Werror=implicit-function-declaration] if (!AVX2_ALL_EQ(p[i], zero)) { ^ /home/petmay01/linaro/qemu-for-merges/util/cutils.c:259:9: error: nested extern declaration of ‘_mm256_movemask_epi8’ [-Werror=nested-externs] /home/petmay01/linaro/qemu-for-merges/util/cutils.c:259:9: error: implicit declaration of function ‘_mm256_cmpeq_epi8’ [-Werror=implicit-function-declaration] /home/petmay01/linaro/qemu-for-merges/util/cutils.c:259:9: error: nested extern declaration of ‘_mm256_cmpeq_epi8’ [-Werror=nested-externs] /home/petmay01/linaro/qemu-for-merges/util/cutils.c:267:17: error: expected ‘;’ before ‘tmp0’ AVX2_VECTYPE tmp0 = AVX2_VEC_OR(p[i + 0], p[i + 1]); ^ /home/petmay01/linaro/qemu-for-merges/util/cutils.c:268:17: error: expected ‘;’ before ‘tmp1’ AVX2_VECTYPE tmp1 = AVX2_VEC_OR(p[i + 2], p[i + 3]); ^ /home/petmay01/linaro/qemu-for-merges/util/cutils.c:269:17: error: expected ‘;’ before ‘tmp2’ AVX2_VECTYPE tmp2 = AVX2_VEC_OR(p[i + 4], p[i + 5]); ^ /home/petmay01/linaro/qemu-for-merges/util/cutils.c:270:17: error: expected ‘;’ before ‘tmp3’ AVX2_VECTYPE tmp3 = AVX2_VEC_OR(p[i + 6], p[i + 7]); ^ /home/petmay01/linaro/qemu-for-merges/util/cutils.c:271:17: error: expected ‘;’ before ‘tmp01’ AVX2_VECTYPE tmp01 = AVX2_VEC_OR(tmp0, tmp1); ^ /home/petmay01/linaro/qemu-for-merges/util/cutils.c:272:17: error: expected ‘;’ before ‘tmp23’ AVX2_VECTYPE tmp23 = AVX2_VEC_OR(tmp2, tmp3); ^ /home/petmay01/linaro/qemu-for-merges/util/cutils.c:273:9: error: implicit declaration of function ‘_mm256_or_si256’ [-Werror=implicit-function-declaration] if (!AVX2_ALL_EQ(AVX2_VEC_OR(tmp01, tmp23), zero)) { ^ /home/petmay01/linaro/qemu-for-merges/util/cutils.c:273:9: error: nested extern declaration of ‘_mm256_or_si256’ [-Werror=nested-externs] /home/petmay01/linaro/qemu-for-merges/util/cutils.c:273:71: error: ‘tmp01’ undeclared (first use in this function) if (!AVX2_ALL_EQ(AVX2_VEC_OR(tmp01, tmp23), zero)) { ^ /home/petmay01/linaro/qemu-for-merges/util/cutils.c:273:78: error: ‘tmp23’ undeclared (first use in this function) if (!AVX2_ALL_EQ(AVX2_VEC_OR(tmp01, tmp23), zero)) { ^ /home/petmay01/linaro/qemu-for-merges/util/cutils.c: In function ‘can_use_buffer_find_nonzero_offset_avx2’: /home/petmay01/linaro/qemu-for-merges/util/cutils.c:244:1: error: control reaches end of non-void function [-Werror=return-type] } ^ /home/petmay01/linaro/qemu-for-merges/util/cutils.c: In function ‘buffer_find_nonzero_offset_avx2’: /home/petmay01/linaro/qemu-for-merges/util/cutils.c:279:1: error: control reaches end of non-void function [-Werror=return-type] } ^ cc1: all warnings being treated as errors thanks -- PMM