* Peter Maydell (peter.mayd...@linaro.org) wrote: > On 6 June 2016 at 18:35, Paolo Bonzini <pbonz...@redhat.com> wrote: > > The following changes since commit 76462405809d29bab65a3699686998ba124ab942: > > > > Merge remote-tracking branch > > 'remotes/pmaydell/tags/pull-target-arm-20160606-1' into staging (2016-06-06 > > 17:02:42 +0100) > > > > are available in the git repository at: > > > > git://github.com/bonzini/qemu.git tags/for-upstream > > > > for you to fetch changes up to ada3d3ba63016bcd33c42f84bcc982a249768e36: > > > > avx2 configure: Use primitives in test (2016-06-06 19:18:34 +0200) > > > > ---------------------------------------------------------------- > > * max-ram-below-4g improvement (Gerd) > > * escc fix (xiaoqiang) > > * ESP fix (Prasad) > > * scsi-disk tweaks/fix (me) > > * PKGVERSION improvement (Fam) > > * -vnc man improvement (Robert) > > * AVX2 configure fixes (Dave) > > Hi. I'm afraid this fails to build for me (x86-64 Linux, gcc). > > I think this is the "trying to use the #pragma target("avx2") doesn't > work under ccache" problem again. (configure tests run not under ccache, > but the build proper does.) See > https://lists.gnu.org/archive/html/qemu-devel/2016-02/msg05298.html > from last time we tried this... > > Possibly it's just that you deleted the "requires gcc 4.9" check with > the comment that says "this doesn't work with older gcc", so now > we're again trying to do this on the older gcc where it doesn't work ;-) > > Compiler errors below.
Sigh I see; so the configure test is run with a different set of compiler options than the main compiles? How is any configure test supposed to check that it's got a sane configuration? In that case, I suggest the fix is to leave the change to the configure script, but for the moment leave the #if QEMU_GNUC_PREREG(4, 9) Dave > > > /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:275:29: error: > ‘__m256i’ undeclared (first use in this function) > * sizeof(AVX2_VECTYPE)) == 0 > ^ > /home/petmay01/linaro/qemu-for-merges/util/cutils.c:275: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:281:5: error: > unknown type name ‘__m256i’ > const AVX2_VECTYPE *p = buf; > ^ > /home/petmay01/linaro/qemu-for-merges/util/cutils.c:282:5: error: > unknown type name ‘__m256i’ > const AVX2_VECTYPE zero = (AVX2_VECTYPE){0}; > ^ > /home/petmay01/linaro/qemu-for-merges/util/cutils.c:282: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:282:35: error: > expected ‘,’ or ‘;’ before ‘{’ token > const AVX2_VECTYPE zero = (AVX2_VECTYPE){0}; > ^ > /home/petmay01/linaro/qemu-for-merges/util/cutils.c:292: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:292:9: error: > nested extern declaration of ‘_mm256_movemask_epi8’ > [-Werror=nested-externs] > /home/petmay01/linaro/qemu-for-merges/util/cutils.c:292:9: error: > implicit declaration of function ‘_mm256_cmpeq_epi8’ > [-Werror=implicit-function-declaration] > /home/petmay01/linaro/qemu-for-merges/util/cutils.c:292:9: error: > nested extern declaration of ‘_mm256_cmpeq_epi8’ > [-Werror=nested-externs] > /home/petmay01/linaro/qemu-for-merges/util/cutils.c:300: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:301: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:302: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:303: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:304:17: error: > expected ‘;’ before ‘tmp01’ > AVX2_VECTYPE tmp01 = AVX2_VEC_OR(tmp0, tmp1); > ^ > /home/petmay01/linaro/qemu-for-merges/util/cutils.c:305:17: error: > expected ‘;’ before ‘tmp23’ > AVX2_VECTYPE tmp23 = AVX2_VEC_OR(tmp2, tmp3); > ^ > /home/petmay01/linaro/qemu-for-merges/util/cutils.c:306: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:306:9: error: > nested extern declaration of ‘_mm256_or_si256’ > [-Werror=nested-externs] > /home/petmay01/linaro/qemu-for-merges/util/cutils.c:306: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:306: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:277: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:312:1: error: > control reaches end of non-void function [-Werror=return-type] > } > ^ > cc1: all warnings being treated as errors > > > thanks > -- PMM -- Dr. David Alan Gilbert / dgilb...@redhat.com / Manchester, UK