[v5,2/2] test/cpuflag: add new flags for ARM64 platform
Checks
Commit Message
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
> -----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
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
@@ -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)