20/01/2021 09:36, David Marchand:
> 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.


For info, I don't reproduce the compilation issue on my machine.



Reply via email to