[v5,2/2] test/cpuflag: add new flags for ARM64 platform

Message ID 20200819070408.25949-3-huwei013@chinasoftinc.com (mailing list archive)
State Superseded, archived
Delegated to: Thomas Monjalon
Headers
Series update CPU flags for arm64 platform |

Checks

Context Check Description
ci/checkpatch success coding style OK
ci/Intel-compilation success Compilation OK
ci/iol-intel-Performance success Performance Testing PASS
ci/iol-intel-Functional success Functional Testing PASS
ci/iol-mellanox-Performance success Performance Testing PASS
ci/travis-robot success Travis build: passed
ci/iol-testing success Testing PASS

Commit Message

Wei Hu (Xavier) Aug. 19, 2020, 7:04 a.m. UTC
  From: "Wei Hu (Xavier)" <xavier.huwei@huawei.com>

This patch adds new flags into the test_cpuflags() functions for ARM64
platform, such as RTE_CPUFLAG_SVE, etc.

Signed-off-by: Wei Hu (Xavier) <xavier.huwei@huawei.com>
Reviewed-by: Ruifeng Wang <ruifeng.wang@arm.com>
---
v4 -> v5: Use double '\t' for better alignment.
v4: Initial patch.
---
 app/test/test_cpuflags.c | 39 +++++++++++++++++++++++++++++++++++++++
 1 file changed, 39 insertions(+)
  

Comments

Ruifeng Wang Aug. 19, 2020, 8:11 a.m. UTC | #1
> -----Original Message-----
> From: Wei Hu (Xavier) <huwei013@chinasoftinc.com>
> Sent: Wednesday, August 19, 2020 3:04 PM
> To: dev@dpdk.org
> Cc: nd <nd@arm.com>; Honnappa Nagarahalli
> <Honnappa.Nagarahalli@arm.com>; Ruifeng Wang
> <Ruifeng.Wang@arm.com>; jerinjacobk@gmail.com;
> xavier.huwei@huawei.com
> Subject: [PATCH v5 2/2] test/cpuflag: add new flags for ARM64 platform
> 
> From: "Wei Hu (Xavier)" <xavier.huwei@huawei.com>
> 
> This patch adds new flags into the test_cpuflags() functions for ARM64
> platform, such as RTE_CPUFLAG_SVE, etc.
> 
> Signed-off-by: Wei Hu (Xavier) <xavier.huwei@huawei.com>
> Reviewed-by: Ruifeng Wang <ruifeng.wang@arm.com>
> ---
> v4 -> v5: Use double '\t' for better alignment.
> v4: Initial patch.
> ---
>  app/test/test_cpuflags.c | 39
> +++++++++++++++++++++++++++++++++++++++
>  1 file changed, 39 insertions(+)
> 
> diff --git a/app/test/test_cpuflags.c b/app/test/test_cpuflags.c index
> 06718631f..7c71ffef1 100644
> --- a/app/test/test_cpuflags.c
> +++ b/app/test/test_cpuflags.c
> @@ -118,6 +118,45 @@ test_cpuflags(void)
> 
>  	printf("Check for ATOMICS:\t");
>  	CHECK_FOR_FLAG(RTE_CPUFLAG_ATOMICS);
> +
> +	printf("Check for SVE:\t\t");
> +	CHECK_FOR_FLAG(RTE_CPUFLAG_SVE);
> +
> +	printf("Check for SVE2:\t\t");
> +	CHECK_FOR_FLAG(RTE_CPUFLAG_SVE2);
> +
Sorry if I didn't make it clear.
In v4, I meant we need double '\t' when checking for 'SVE' and 'SVE2' to align the check results with that of other flags.
You can check this by running cpuflags_autotest.

Thanks.
/Ruifeng
> +	printf("Check for SVEAES:\t\t");
> +	CHECK_FOR_FLAG(RTE_CPUFLAG_SVEAES);
> +
> +	printf("Check for SVEPMULL:\t\t");
> +	CHECK_FOR_FLAG(RTE_CPUFLAG_SVEPMULL);
> +
> +	printf("Check for SVEBITPERM:\t\t");
> +	CHECK_FOR_FLAG(RTE_CPUFLAG_SVEBITPERM);
> +
> +	printf("Check for SVESHA3:\t\t");
> +	CHECK_FOR_FLAG(RTE_CPUFLAG_SVESHA3);
> +
> +	printf("Check for SVESM4:\t\t");
> +	CHECK_FOR_FLAG(RTE_CPUFLAG_SVESM4);
> +
> +	printf("Check for FLAGM2:\t\t");
> +	CHECK_FOR_FLAG(RTE_CPUFLAG_FLAGM2);
> +
> +	printf("Check for FRINT:\t\t");
> +	CHECK_FOR_FLAG(RTE_CPUFLAG_FRINT);
> +
> +	printf("Check for SVEI8MM:\t\t");
> +	CHECK_FOR_FLAG(RTE_CPUFLAG_SVEI8MM);
> +
> +	printf("Check for SVEF32MM:\t\t");
> +	CHECK_FOR_FLAG(RTE_CPUFLAG_SVEF32MM);
> +
> +	printf("Check for SVEF64MM:\t\t");
> +	CHECK_FOR_FLAG(RTE_CPUFLAG_SVEF64MM);
> +
> +	printf("Check for SVEBF16:\t\t");
> +	CHECK_FOR_FLAG(RTE_CPUFLAG_SVEBF16);
>  #endif
> 
>  #if defined(RTE_ARCH_X86_64) || defined(RTE_ARCH_I686)
> --
> 2.27.0
  
Wei Hu (Xavier) Aug. 20, 2020, 12:39 a.m. UTC | #2
Hi, Ruifeng Wang

On 2020/8/19 16:11, Ruifeng Wang wrote:
> 
>> -----Original Message-----
>> From: Wei Hu (Xavier) <huwei013@chinasoftinc.com>
>> Sent: Wednesday, August 19, 2020 3:04 PM
>> To: dev@dpdk.org
>> Cc: nd <nd@arm.com>; Honnappa Nagarahalli
>> <Honnappa.Nagarahalli@arm.com>; Ruifeng Wang
>> <Ruifeng.Wang@arm.com>; jerinjacobk@gmail.com;
>> xavier.huwei@huawei.com
>> Subject: [PATCH v5 2/2] test/cpuflag: add new flags for ARM64 platform
>>
>> From: "Wei Hu (Xavier)" <xavier.huwei@huawei.com>
>>
>> This patch adds new flags into the test_cpuflags() functions for ARM64
>> platform, such as RTE_CPUFLAG_SVE, etc.
>>
>> Signed-off-by: Wei Hu (Xavier) <xavier.huwei@huawei.com>
>> Reviewed-by: Ruifeng Wang <ruifeng.wang@arm.com>
>> ---
>> v4 -> v5: Use double '\t' for better alignment.
>> v4: Initial patch.
>> ---
>>   app/test/test_cpuflags.c | 39
>> +++++++++++++++++++++++++++++++++++++++
>>   1 file changed, 39 insertions(+)
>>
>> diff --git a/app/test/test_cpuflags.c b/app/test/test_cpuflags.c index
>> 06718631f..7c71ffef1 100644
>> --- a/app/test/test_cpuflags.c
>> +++ b/app/test/test_cpuflags.c
>> @@ -118,6 +118,45 @@ test_cpuflags(void)
>>
>>   	printf("Check for ATOMICS:\t");
>>   	CHECK_FOR_FLAG(RTE_CPUFLAG_ATOMICS);
>> +
>> +	printf("Check for SVE:\t\t");
>> +	CHECK_FOR_FLAG(RTE_CPUFLAG_SVE);
>> +
>> +	printf("Check for SVE2:\t\t");
>> +	CHECK_FOR_FLAG(RTE_CPUFLAG_SVE2);
>> +
> Sorry if I didn't make it clear.
> In v4, I meant we need double '\t' when checking for 'SVE' and 'SVE2' to align the check results with that of other flags.
> You can check this by running cpuflags_autotest.
> 
OK, I got it.
Thanks for you detail description.

Regards
Xavier
> Thanks.
> /Ruifeng
>> +	printf("Check for SVEAES:\t\t");
>> +	CHECK_FOR_FLAG(RTE_CPUFLAG_SVEAES);
>> +
>> +	printf("Check for SVEPMULL:\t\t");
>> +	CHECK_FOR_FLAG(RTE_CPUFLAG_SVEPMULL);
>> +
>> +	printf("Check for SVEBITPERM:\t\t");
>> +	CHECK_FOR_FLAG(RTE_CPUFLAG_SVEBITPERM);
>> +
>> +	printf("Check for SVESHA3:\t\t");
>> +	CHECK_FOR_FLAG(RTE_CPUFLAG_SVESHA3);
>> +
>> +	printf("Check for SVESM4:\t\t");
>> +	CHECK_FOR_FLAG(RTE_CPUFLAG_SVESM4);
>> +
>> +	printf("Check for FLAGM2:\t\t");
>> +	CHECK_FOR_FLAG(RTE_CPUFLAG_FLAGM2);
>> +
>> +	printf("Check for FRINT:\t\t");
>> +	CHECK_FOR_FLAG(RTE_CPUFLAG_FRINT);
>> +
>> +	printf("Check for SVEI8MM:\t\t");
>> +	CHECK_FOR_FLAG(RTE_CPUFLAG_SVEI8MM);
>> +
>> +	printf("Check for SVEF32MM:\t\t");
>> +	CHECK_FOR_FLAG(RTE_CPUFLAG_SVEF32MM);
>> +
>> +	printf("Check for SVEF64MM:\t\t");
>> +	CHECK_FOR_FLAG(RTE_CPUFLAG_SVEF64MM);
>> +
>> +	printf("Check for SVEBF16:\t\t");
>> +	CHECK_FOR_FLAG(RTE_CPUFLAG_SVEBF16);
>>   #endif
>>
>>   #if defined(RTE_ARCH_X86_64) || defined(RTE_ARCH_I686)
>> --
>> 2.27.0
  

Patch

diff --git a/app/test/test_cpuflags.c b/app/test/test_cpuflags.c
index 06718631f..7c71ffef1 100644
--- a/app/test/test_cpuflags.c
+++ b/app/test/test_cpuflags.c
@@ -118,6 +118,45 @@  test_cpuflags(void)
 
 	printf("Check for ATOMICS:\t");
 	CHECK_FOR_FLAG(RTE_CPUFLAG_ATOMICS);
+
+	printf("Check for SVE:\t\t");
+	CHECK_FOR_FLAG(RTE_CPUFLAG_SVE);
+
+	printf("Check for SVE2:\t\t");
+	CHECK_FOR_FLAG(RTE_CPUFLAG_SVE2);
+
+	printf("Check for SVEAES:\t\t");
+	CHECK_FOR_FLAG(RTE_CPUFLAG_SVEAES);
+
+	printf("Check for SVEPMULL:\t\t");
+	CHECK_FOR_FLAG(RTE_CPUFLAG_SVEPMULL);
+
+	printf("Check for SVEBITPERM:\t\t");
+	CHECK_FOR_FLAG(RTE_CPUFLAG_SVEBITPERM);
+
+	printf("Check for SVESHA3:\t\t");
+	CHECK_FOR_FLAG(RTE_CPUFLAG_SVESHA3);
+
+	printf("Check for SVESM4:\t\t");
+	CHECK_FOR_FLAG(RTE_CPUFLAG_SVESM4);
+
+	printf("Check for FLAGM2:\t\t");
+	CHECK_FOR_FLAG(RTE_CPUFLAG_FLAGM2);
+
+	printf("Check for FRINT:\t\t");
+	CHECK_FOR_FLAG(RTE_CPUFLAG_FRINT);
+
+	printf("Check for SVEI8MM:\t\t");
+	CHECK_FOR_FLAG(RTE_CPUFLAG_SVEI8MM);
+
+	printf("Check for SVEF32MM:\t\t");
+	CHECK_FOR_FLAG(RTE_CPUFLAG_SVEF32MM);
+
+	printf("Check for SVEF64MM:\t\t");
+	CHECK_FOR_FLAG(RTE_CPUFLAG_SVEF64MM);
+
+	printf("Check for SVEBF16:\t\t");
+	CHECK_FOR_FLAG(RTE_CPUFLAG_SVEBF16);
 #endif
 
 #if defined(RTE_ARCH_X86_64) || defined(RTE_ARCH_I686)