On Wed, Jan 20, 2021 at 7:26 AM Tal Shnaiderman <tal...@nvidia.com> wrote: > > The patch "add AVX512 vector path" also caused a build failure when cross > > compiling on Linux using mingw, and it's still reproducing in next-net > > (517969c95). > > > > ``` > > $ meson --werror --buildtype=debugoptimized --cross-file config/x86/cross- > > mingw -Dexamples=helloworld build && ninja-build -C build -j32 > > > > [221/232] Generating symbol file lib/librte_mbuf-21.dll.p/librte_mbuf- > > 21.dll.symbols > > [222/232] Generating symbol file lib/librte_hash-21.dll.p/librte_hash- > > 21.dll.symbols > > [223/232] Linking target lib/librte_net-21.dll [224/232] Compiling C object > > drivers/net/i40e/libi40e_avx512_lib.a.p/i40e_rxtx_vec_avx512.c.obj > > FAILED: drivers/net/i40e/libi40e_avx512_lib.a.p/i40e_rxtx_vec_avx512.c.obj > > ... > > drivers/net/i40e/libi40e_avx512_lib.a.p/i40e_rxtx_vec_avx512.c.obj.d -o > > drivers/net/i40e/libi40e_avx512_lib.a.p/i40e_rxtx_vec_avx512.c.obj -c > > ../../root/dpdk/drivers/net/i40e/i40e_rxtx_vec_avx512.c > > {standard input}: Assembler messages: > > {standard input}:112: Error: invalid register for .seh_savexmm {standard > > input}:114: Error: invalid register for .seh_savexmm ... > > ... > > {standard input}:25351: Error: invalid register for .seh_savexmm {standard > > input}:25352: Error: invalid register for .seh_savexmm [225/232] Generating > > symbol file lib/librte_net-21.dll.p/librte_net-21.dll.symbols > > ninja: build stopped: subcommand failed. > > ``` > > > > OS: Fedora 32 > > Meson: 0.55.3 > > MinGW: Fedora MinGW 9.2.1-6.fc32 > > > > - Ali > > Those errors were detected in the CI tests for this patch [1], we should pay > more attention to those now that 2 PMDs are supported on Windows. > > [1]: https://lab.dpdk.org/results/dashboard/patchsets/15164/
I won't grmbl about how CI reports are not being looked at (or maybe I just did :)). This simple patch seems to work for me: diff --git a/drivers/net/i40e/meson.build b/drivers/net/i40e/meson.build index c0acdf4fd4..c9a1a50407 100644 --- a/drivers/net/i40e/meson.build +++ b/drivers/net/i40e/meson.build @@ -54,7 +54,7 @@ if arch_subdir == 'x86' cc.has_argument('-mavx512f') and cc.has_argument('-mavx512bw')) - if i40e_avx512_cpu_support == true or i40e_avx512_cc_support == true + if not is_windows and (i40e_avx512_cpu_support == true or i40e_avx512_cc_support == true) cflags += ['-DCC_AVX512_SUPPORT'] avx512_args = [cflags, '-mavx512f', '-mavx512bw'] if cc.has_argument('-march=skylake-avx512') If nobody has a better fix, I'll send it later. -- David Marchand