28/01/2021 21:35, Dmitry Kozlyuk: > On Tue, 26 Jan 2021 16:51:19 +0000, Ferruh Yigit wrote: > > On 1/26/2021 4:48 PM, Thomas Monjalon wrote: > > > 26/01/2021 17:39, Ferruh Yigit: > > >> On 1/26/2021 4:22 PM, Thomas Monjalon wrote: > > >>> 26/01/2021 17:17, Rong, Leyi: > > >>>>>> On 1/20/2021 11:21 PM, Ferruh Yigit wrote: > > >>>>>> > > >>>>>> And for the mingw, I have same result with Ali, I can reproduce with > > >>>>>> (Fedora > > >>>>> MinGW 9.2.1-6.fc32). > > >>>>>> > > >>>>>> But different from the CI, I am getting the error [1] for all > > >>>>>> following files: > > >>>>>> rte_random.c > > >>>>>> i40e_rxtx_vec_sse.c > > >>>>>> i40e_rxtx_vec_avx512.c > > >>>>>> i40e_rxtx_vec_avx2.c > > >>>>>> rte_ethdev.c > > >>> [...] > > >>>> Send patch https://patchwork.dpdk.org/patch/87349/ to disable avx512 > > >>>> on windows as the workaround. > > >>>> Pallavi also tested with this patch, and passed the mingw and clang > > >>>> build. Will try to see if has better way to fix. > > >>> > > >>> Ferruh mentioned errors with other files outside of i40e. > > >>> > > >> > > >> The patch globally disables the avx512 for windows cross build, not just > > >> for > > >> i40e, so I confirm it fixes the build errors in my environment. > > >> > > >> But disabling avx512 like this is not best option. > > > > > > Some may argue that AVX512 is not the best option ;) > > > > > > > flame war mode activated. > > I found the following fix working: > > --- a/drivers/net/i40e/meson.build > +++ b/drivers/net/i40e/meson.build > @@ -60,6 +60,9 @@ if arch_subdir == 'x86' > if cc.has_argument('-march=skylake-avx512') > avx512_args += '-march=skylake-avx512' > endif > + if is_windows and cc.get_id() == 'gcc' > + avx512_args += '-fno-asynchronous-unwind-tables' > + endif > i40e_avx512_lib = static_library('i40e_avx512_lib', > 'i40e_rxtx_vec_avx512.c', > dependencies: [static_rte_ethdev, > > It's admittedly from StackOverflow, but after reading about > -fno-asynchronous-unwind-tables I see no harm disabling it, at least for just > one file.
Thanks, it will require some tests and approvals. For now, I take the patch proposing a simple disabling of AVX512 with MinGW.