[v2,2/2] net/iavf: fix build error on lower version GCC

Message ID 20201103135200.41166-3-leyi.rong@intel.com (mailing list archive)
State Accepted, archived
Delegated to: Ferruh Yigit
Headers
Series fix build error on lower version GCC |

Checks

Context Check Description
ci/checkpatch success coding style OK
ci/Intel-compilation success Compilation OK

Commit Message

Leyi Rong Nov. 3, 2020, 1:52 p.m. UTC
  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

Bruce Richardson Nov. 3, 2020, 2:44 p.m. UTC | #1
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>
  
Ferruh Yigit Nov. 3, 2020, 3:28 p.m. UTC | #2
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.
  

Patch

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],
 				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