[v2,2/2] net/iavf: fix build error on lower version GCC
Checks
Commit Message
Fix the build error when -march=skylake-avx512 is not supported on
lower version GCC.
Fixes: e0dcec9074c3 ("net/iavf: enable AVX512 for legacy Rx")
Signed-off-by: Leyi Rong <leyi.rong@intel.com>
---
drivers/net/iavf/meson.build | 8 ++++++--
1 file changed, 6 insertions(+), 2 deletions(-)
Comments
On Tue, Nov 03, 2020 at 09:52:00PM +0800, Leyi Rong wrote:
> Fix the build error when -march=skylake-avx512 is not supported on
> lower version GCC.
>
> Fixes: e0dcec9074c3 ("net/iavf: enable AVX512 for legacy Rx")
>
> Signed-off-by: Leyi Rong <leyi.rong@intel.com>
> ---
> drivers/net/iavf/meson.build | 8 ++++++--
> 1 file changed, 6 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/net/iavf/meson.build b/drivers/net/iavf/meson.build
> index e257f5a6e1..099b6a725d 100644
> --- a/drivers/net/iavf/meson.build
> +++ b/drivers/net/iavf/meson.build
> @@ -46,12 +46,16 @@ if arch_subdir == 'x86'
>
> if iavf_avx512_cpu_support == true or iavf_avx512_cc_support == true
> cflags += ['-DCC_AVX512_SUPPORT']
> + avx512_args = [cflags, '-mavx512f', '-mavx512bw']
> + if cc.has_argument('-march=skylake-avx512')
> + avx512_args += '-march=skylake-avx512'
> + endif
> iavf_avx512_lib = static_library('iavf_avx512_lib',
> 'iavf_rxtx_vec_avx512.c',
> dependencies: [static_rte_ethdev,
> - static_rte_kvargs, static_rte_hash],
> + static_rte_kvargs, static_rte_hash],
This is an unnecesary whitespace change that can be dropped from the patch,
and doesn't actually clean things up, since the extra indent is useful to
show the continuation of the array.
> include_directories: includes,
> - c_args: [cflags, '-mavx512f', '-mavx512bw', '-march=skylake-avx512'])
> + c_args: avx512_args)
> objs += iavf_avx512_lib.extract_objects('iavf_rxtx_vec_avx512.c')
> endif
> endif
> --
Acked-by: Bruce Richardson <bruce.richardson@intel.com>
On 11/3/2020 2:44 PM, Bruce Richardson wrote:
> On Tue, Nov 03, 2020 at 09:52:00PM +0800, Leyi Rong wrote:
>> Fix the build error when -march=skylake-avx512 is not supported on
>> lower version GCC.
>>
>> Fixes: e0dcec9074c3 ("net/iavf: enable AVX512 for legacy Rx")
>>
>> Signed-off-by: Leyi Rong <leyi.rong@intel.com>
>> ---
>> drivers/net/iavf/meson.build | 8 ++++++--
>> 1 file changed, 6 insertions(+), 2 deletions(-)
>>
>> diff --git a/drivers/net/iavf/meson.build b/drivers/net/iavf/meson.build
>> index e257f5a6e1..099b6a725d 100644
>> --- a/drivers/net/iavf/meson.build
>> +++ b/drivers/net/iavf/meson.build
>> @@ -46,12 +46,16 @@ if arch_subdir == 'x86'
>>
>> if iavf_avx512_cpu_support == true or iavf_avx512_cc_support == true
>> cflags += ['-DCC_AVX512_SUPPORT']
>> + avx512_args = [cflags, '-mavx512f', '-mavx512bw']
>> + if cc.has_argument('-march=skylake-avx512')
>> + avx512_args += '-march=skylake-avx512'
>> + endif
>> iavf_avx512_lib = static_library('iavf_avx512_lib',
>> 'iavf_rxtx_vec_avx512.c',
>> dependencies: [static_rte_ethdev,
>> - static_rte_kvargs, static_rte_hash],
>> + static_rte_kvargs, static_rte_hash],
>
> This is an unnecesary whitespace change that can be dropped from the patch,
> and doesn't actually clean things up, since the extra indent is useful to
> show the continuation of the array.
>
>> include_directories: includes,
>> - c_args: [cflags, '-mavx512f', '-mavx512bw', '-march=skylake-avx512'])
>> + c_args: avx512_args)
>> objs += iavf_avx512_lib.extract_objects('iavf_rxtx_vec_avx512.c')
>> endif
>> endif
>> --
>
> Acked-by: Bruce Richardson <bruce.richardson@intel.com>
>
Squashed into relevant commit in next-net, thanks.
Indentation change dropped while merging.
@@ -46,12 +46,16 @@ if arch_subdir == 'x86'
if iavf_avx512_cpu_support == true or iavf_avx512_cc_support == true
cflags += ['-DCC_AVX512_SUPPORT']
+ avx512_args = [cflags, '-mavx512f', '-mavx512bw']
+ if cc.has_argument('-march=skylake-avx512')
+ avx512_args += '-march=skylake-avx512'
+ endif
iavf_avx512_lib = static_library('iavf_avx512_lib',
'iavf_rxtx_vec_avx512.c',
dependencies: [static_rte_ethdev,
- static_rte_kvargs, static_rte_hash],
+ static_rte_kvargs, static_rte_hash],
include_directories: includes,
- c_args: [cflags, '-mavx512f', '-mavx512bw', '-march=skylake-avx512'])
+ c_args: avx512_args)
objs += iavf_avx512_lib.extract_objects('iavf_rxtx_vec_avx512.c')
endif
endif