> -----Original Message-----
> From: Tal Shnaiderman <[email protected]>
> Sent: Tuesday, February 2, 2021 10:14 PM
> To: Richardson, Bruce <[email protected]>; Rong, Leyi
> <[email protected]>
> Cc: [email protected]; Zhang, Qi Z <[email protected]>; Yigit,
> Ferruh <[email protected]>; NBU-Contact-Thomas Monjalon
> <[email protected]>; Kadam, Pallavi <[email protected]>; Menon,
> Ranjit <[email protected]>; Xing, Beilei <[email protected]>;
> [email protected]; [email protected]; [email protected]
> Subject: RE: [PATCH] net/i40e: disable AVX512 with MinGW
>
> > Subject: Re: [PATCH] net/i40e: disable AVX512 with MinGW
> >
> > External email: Use caution opening links or attachments
> >
> >
> > On Tue, Feb 02, 2021 at 05:06:39PM +0800, Leyi Rong wrote:
> > > Disable i40e AVX512 code path for Windows build regardless of CPU
> > > capability to avoid the MinGW build error:
> > > Error: invalid register for .seh_savexmm
> > >
> > > Signed-off-by: Leyi Rong <[email protected]>
> > > ---
> > > drivers/net/i40e/meson.build | 1 +
> > > 1 file changed, 1 insertion(+)
> > >
> > > diff --git a/drivers/net/i40e/meson.build
> > > b/drivers/net/i40e/meson.build index f5fc5a17e..26cd201ee 100644
> > > --- a/drivers/net/i40e/meson.build
> > > +++ b/drivers/net/i40e/meson.build
> > > @@ -56,6 +56,7 @@ if arch_subdir == 'x86'
> > >
> > > if is_windows and cc.get_id() != 'clang'
> > > i40e_avx512_cc_support = false
> > > + i40e_avx512_cpu_support = false
> > > endif
> > >
> >
> > This fix seems to imply that there is something else wrong in the
> > logic in the build file. If the compiler does not support avx512, the
> > fact that the CPU supports it should be completely irrelevant.
> > Therefore, I think a more correct fix (logically) should be to remove the
> "i40e_avx512_cpu_support"
> > from the next "if" condition, and only check the compiler support. We
> > don't do anything with the cpu support variable.
>
> Moreover, this patch doesn't resolve the issue [1].
>
> [1] http://mails.dpdk.org/archives/test-report/2021-February/177665.html
>
[139/227] Compiling C object
drivers/a715181@@tmp_rte_net_i40e@sta/net_i40e_i40e_rxtx_vec_avx2.c.obj.
FAILED: drivers/a715181@@tmp_rte_net_i40e@sta/net_i40e_i40e_rxtx_vec_avx2.c.obj
gcc @drivers/a715181@@tmp_rte_net_i40e@sta/net_i40e_i40e_rxtx_vec_avx2.c.obj.rsp
{standard input}: Assembler messages:
{standard input}:2024: Error: invalid register for .seh_savexmm
{standard input}:2026: Error: invalid register for .seh_savexmm
{standard input}:2028: Error: invalid register for .seh_savexmm
Seems that avx2 file also causes the same issue, will send a new patch to have
the test.
> >
> > /Bruce