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.
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: build/app/ test-pmd/ testpmd /root/testpmd. native native > /root/testpmd. native. objdump. intel
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/
objdump -d -M intel -gS /root/testpmd.
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.