> -----Original Message-----
> From: Bruce Richardson <bruce.richard...@intel.com>
> Sent: Tuesday, October 27, 2020 9:28 PM
> To: Ali Alnubani <alia...@nvidia.com>
> Cc: Yigit, Ferruh <ferruh.yi...@intel.com>; Rong, Leyi <leyi.r...@intel.com>;
> Zhang, Qi Z <qi.z.zh...@intel.com>; Lu, Wenzhuo <wenzhuo...@intel.com>;
> Andrew Rybchenko <arybche...@solarflare.com>; David Marchand
> <david.march...@redhat.com>; Raslan Darawsheh <rasl...@nvidia.com>;
> dev@dpdk.org
> Subject: Re: [PATCH] net/ice: add AVX512BW flag check both in build and
> runtime
> 
> On Tue, Oct 27, 2020 at 01:12:20PM +0000, Ali Alnubani wrote:
> > Hi,
> >
> > > -----Original Message-----
> > > From: Ferruh Yigit <ferruh.yi...@intel.com>
> > > Sent: Tuesday, October 27, 2020 1:57 PM
> > > To: Leyi Rong <leyi.r...@intel.com>; qi.z.zh...@intel.com;
> > > bruce.richard...@intel.com; wenzhuo...@intel.com; Ali Alnubani
> > > <alia...@nvidia.com>; Andrew Rybchenko
> <arybche...@solarflare.com>;
> > > David Marchand <david.march...@redhat.com>
> > > Cc: dev@dpdk.org
> > > Subject: Re: [PATCH] net/ice: add AVX512BW flag check both in build
> > > and runtime
> > >
> > > On 10/27/2020 10:19 AM, Leyi Rong wrote:
> > > > Intrinsic function __mm512_bsrli_epi128 should be used in the
> > > > environment which supports AVX512BW, so adds check for this flag.
> > > >
> > > > Fixes: 5dd3b8f3af34 ("net/ice: add AVX512 vector path")
> > > >
> > > > Signed-off-by: Leyi Rong <leyi.r...@intel.com>
> > >
> > > Squashed into relevant commit in next-net, thanks.
> > >
> > >
> > > Andrew, Ali, David,
> > >
> > > Can you please confirm the issue is solved in the next-net/main?
> > >
> >
> > The build failures in CentOS 7, Ubuntu 18.04 and in OpenSUSE Leap 15.2 no
> longer reproduce. But we just noticed that Ubuntu 16.04.7 (gcc 5.4.0) is also
> failing with a different error:
> >
> > """
> > drivers/net/ice/ice_rxtx_vec_avx512.c:1:0: error: bad value
> > (skylake-avx512) for -march= switch
> >  /* SPDX-License-Identifier: BSD-3-Clause """
> > Which is also caused by "net/ice: add AVX512 vector path".
> >
> 
> I think we can drop the -march=skylake-avx512 flag in the build command for
> the avx512 file, since specifying the -mavx512f and -mavx512bw should be
> enough. Testing in an ubuntu 16.04 VM (which has 5.5 rather than 5.4
> compiler, but should be ok), shows that the avx512 instruction set flags are
> recognised and enable the isntructions, which the -march one is not.
> 
> /Bruce
> 
> bruce@ubuntu-1604-vm:~$ gcc -mavx512f -mavx512bw -dM -E - < /dev/null
> | grep AVX #define __AVX512F__ 1 #define __AVX512BW__ 1 #define
> __AVX__ 1 #define __AVX2__ 1 bruce@ubuntu-1604-vm:~$ gcc -
> march=skylake-avx512 -dM -E - < /dev/null | grep AVX
> cc1: error: bad value (skylake-avx512) for -march= switch

Hi Bruce,

Drop -march=skylake-avx512 really impact the throughput performance in my test, 
although -avx512f and -avx512bw are set meanwhile.
Could we add a judgement before setting -march=skylake-avx512, the judgement 
can just like 
if (toolchain == 'gcc' and cc.version().version_compare('>=7.0.0'))

Leyi

Reply via email to