> -----Original Message-----
> From: David Marchand <david.march...@redhat.com>
> Sent: Monday, January 25, 2021 10:35 PM
> To: Kadam, Pallavi <pallavi.ka...@intel.com>
> Cc: Yigit, Ferruh <ferruh.yi...@intel.com>; Ali Alnubani <alia...@nvidia.com>;
> NBU-Contact-Thomas Monjalon <tho...@monjalon.net>; Richardson, Bruce
> <bruce.richard...@intel.com>; Tal Shnaiderman <tal...@nvidia.com>; Odi Assli
> <o...@nvidia.com>; Rong, Leyi <leyi.r...@intel.com>; Zhang, Qi Z
> <qi.z.zh...@intel.com>; Lu, Wenzhuo <wenzhuo...@intel.com>; Xing, Beilei
> <beilei.x...@intel.com>; Menon, Ranjit <ranjit.me...@intel.com>;
> dev@dpdk.org; Raslan Darawsheh <rasl...@nvidia.com>
> Subject: Re: [dpdk-dev] [PATCH v3 0/3] AVX512 vPMD on i40e
> 
> On Thu, Jan 21, 2021 at 6:02 AM Kadam, Pallavi <pallavi.ka...@intel.com>
> wrote:
> > 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
> >
> > [1] Error: invalid register for .seh_savexmm
> >
> >
> > There is a stackoverflow entry for it:
> > https://stackoverflow.com/questions/43152633/invalid-register-for-seh-
> > savexmm-in-cygwin
> >
> > If I use '-fno-asynchronous-unwind-tables' as suggested there, the build 
> > works
> fine.
> >
> > So the problem may not be just 'i40e_rxtx_vec_avx512.c'.
> >
> >
> > If I change the machine type from 'native' to 'corei7' [2], the build error
> reduced to only 'i40e_rxtx_vec_avx512.c', so the problem seems happens when
> avx512 is supported by CPU, in this case compiler seems has a defect.
> > And since for 'i40e_rxtx_vec_avx512.c' the '-march=skylake-avx512' 
> > explicitly
> set can cause the problem seen in all machines.
> >
> > [2]
> >  diff --git a/config/x86/cross-mingw b/config/x86/cross-mingw  index
> > 4c15a7fa2e..7cee238add 100644
> >  --- a/config/x86/cross-mingw
> >  +++ b/config/x86/cross-mingw
> >  @@ -9,5 +9,5 @@ pkgconfig = 'x86_64-w64-mingw32-pkg-config'
> >   [host_machine]
> >   system = 'windows'
> >   cpu_family = 'x86_64'
> >  -cpu = 'native'
> >  +cpu = 'corei7'
> >   endian = 'little'
> >
> > @Ranjit, @Pallavi,
> > Are you building using mingw, and if so are you observing same problem?
> >
> 
> Thanks Ferruh.
> 
> 
> > We usually build using Clang. However, we verify with mingw as well before
> submitting the patch.
> > As mentioned in the patch [1] comments, we replaced #include
> > x86intrin.h with <rte_vect.h> in the file i40e_rxtx_vec_avx2.c And this 
> > helped
> fixing an error related to conflicting types for '__m_prefethw' with Clang on
> Windows.
> > I was able to build this patch using Clang as well as mingw.
> > [1] http://patches.dpdk.org/patch/84770/
> >
> > I verified patch fix submitted by Rong, Leyi, it builds successfully with 
> > Clang.
> > However, I am getting same error "Error: invalid register for .seh_savexmm"
> using mingw for 'i40e_rxtx_vec_avx512.c' file.
> 
> The patch I sent https://patchwork.dpdk.org/patch/86999/ is not enough.
> I have neither time nor environment to find a fix.
> 
> For now I simply stopped checking mingw builds.
> 
> Will it get fixed?
> 
> 
> --
> David Marchand

Hi,

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.

Reply via email to