Comment 11 for bug 1799397

Revision history for this message
Christian Ehrhardt  (paelzer) wrote :

The compilers didn't make a difference.
The versions in Disco for gcc7/8 generate the same results.

But then for me it never generated the wrong code:

Steps:
git clone git://dpdk.org/dpdk
apt build-dep dpdk
apt install gdb build-essential libmnl-dev
apt update && apt upgrade
make defconfig
vim build/.config
# switch on MLX PMDs
make -j
# safe the static linked testpmd to analyze it
cp ./build/build/app/test-pmd/testpmd /root/testpmd.native
objdump -d -M intel -gS /root/testpmd.native > /root/testpmd.native.objdump.intel

This is the upstream discussed repro, by default it builds -march=native which will select -mavx512f

$ gcc -march=native -Q --help=target | grep avx512f
  -mavx512f [enabled]

But in my case no broken vmovdqu[0-9] were generated (with none of the versions).
Upstream seems to settle on disabling -mavx512f, that is recommended to everybody building that manually for now.

An upcoming stable release might add the same in the code, but -mno-avx512f seems to do the trick for anyone else until then.

As long as this isn't reproducible I'm not spending more time for now.