[dpdk-dev] ARMv8: Use built-in data types for unsupported poly64/128 types for GCC version lower than 4.9.0.

Message ID 1499856619-21007-1-git-send-email-herbert.guan@arm.com (mailing list archive)
State Superseded, archived
Headers

Checks

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

Commit Message

Herbert Guan July 12, 2017, 10:50 a.m. UTC
  Fixes: 3c4b4024c2 (arch/arm: add vcopyq_laneq_u32 for old gcc)

Signed-off-by: Herbert Guan <herbert.guan@arm.com>
---
 lib/librte_eal/common/include/arch/arm/rte_vect.h | 7 +++++++
 1 file changed, 7 insertions(+)
  

Comments

Jianbo Liu July 12, 2017, 3:36 p.m. UTC | #1
On 12 July 2017 at 18:50, Herbert Guan <herbert.guan@arm.com> wrote:
> Fixes: 3c4b4024c2 (arch/arm: add vcopyq_laneq_u32 for old gcc)
>
> Signed-off-by: Herbert Guan <herbert.guan@arm.com>
> ---
>  lib/librte_eal/common/include/arch/arm/rte_vect.h | 7 +++++++
>  1 file changed, 7 insertions(+)
>
> diff --git a/lib/librte_eal/common/include/arch/arm/rte_vect.h b/lib/librte_eal/common/include/arch/arm/rte_vect.h
> index 7fec25e..782350d 100644
> --- a/lib/librte_eal/common/include/arch/arm/rte_vect.h
> +++ b/lib/librte_eal/common/include/arch/arm/rte_vect.h
> @@ -101,6 +101,13 @@
>
>  #if defined(RTE_ARCH_ARM64)
>  #if defined(RTE_TOOLCHAIN_GCC) && (GCC_VERSION < 70000)
> +
> +#if (GCC_VERSION < 40900)
> +typedef uint64_t poly64_t;
> +typedef uint64x2_t poly64x2_t;
> +typedef uint8_t poly128_t __attribute__((vector_size(16), aligned(16)));
> +#endif
> +
>  /* NEON intrinsic vreinterpretq_u64_p128() is supported since GCC version 7 */
>  static inline uint64x2_t
>  vreinterpretq_u64_p128(poly128_t x)
> --
> 1.8.3.1
>

Acked-by: Jianbo Liu <jianbo.liu@linaro.org>
  
Jerin Jacob July 12, 2017, 5:45 p.m. UTC | #2
-----Original Message-----
> Date: Wed, 12 Jul 2017 18:50:19 +0800
> From: Herbert Guan <herbert.guan@arm.com>
> To: dev@dpdk.org, jerin.jacob@caviumnetworks.com, jianbo.liu@linaro.org
> CC: Herbert Guan <herbert.guan@arm.com>
> Subject: [PATCH] ARMv8: Use built-in data types for unsupported poly64/128
>  types for GCC version lower than 4.9.0.
> X-Mailer: git-send-email 1.8.3.1
> 
> Fixes: 3c4b4024c2 (arch/arm: add vcopyq_laneq_u32 for old gcc)

Fix the check-git-log.sh warning. You could start the commit with
eal/armv8:

With check-git-log.sh fix:
Acked-by: Jerin Jacob <jerin.jacob@caviumnetworks.com>

[master][dpdk.org] $ ./devtools/check-git-log.sh 
Wrong headline format:
	ARMv8: Use built-in data types for unsupported poly64/128 types for GCC version lower than 4.9.0.
Wrong headline uppercase:
	ARMv8: Use built-in data types for unsupported poly64/128 types for GCC version lower than 4.9.0.
Headline too long:
	ARMv8: Use built-in data types for unsupported poly64/128 types for GCC version lower than 4.9.0.



> 
> Signed-off-by: Herbert Guan <herbert.guan@arm.com>
> ---
>  lib/librte_eal/common/include/arch/arm/rte_vect.h | 7 +++++++
>  1 file changed, 7 insertions(+)
> 
> diff --git a/lib/librte_eal/common/include/arch/arm/rte_vect.h b/lib/librte_eal/common/include/arch/arm/rte_vect.h
> index 7fec25e..782350d 100644
> --- a/lib/librte_eal/common/include/arch/arm/rte_vect.h
> +++ b/lib/librte_eal/common/include/arch/arm/rte_vect.h
> @@ -101,6 +101,13 @@
>  
>  #if defined(RTE_ARCH_ARM64)
>  #if defined(RTE_TOOLCHAIN_GCC) && (GCC_VERSION < 70000)
> +
> +#if (GCC_VERSION < 40900)
> +typedef uint64_t poly64_t;
> +typedef uint64x2_t poly64x2_t;
> +typedef uint8_t poly128_t __attribute__((vector_size(16), aligned(16)));
> +#endif
> +
>  /* NEON intrinsic vreinterpretq_u64_p128() is supported since GCC version 7 */
>  static inline uint64x2_t
>  vreinterpretq_u64_p128(poly128_t x)
> -- 
> 1.8.3.1
>
  
Herbert Guan July 13, 2017, 3:13 a.m. UTC | #3
Thank, Jerin.  I've fixed the git-log warnings and raised a v2 patch just now.

Best Regards,
Herbert

-----Original Message-----
From: Jerin Jacob [mailto:jerin.jacob@caviumnetworks.com]
Sent: Thursday, July 13, 2017 1:45
To: Herbert Guan <Herbert.Guan@arm.com>
Cc: dev@dpdk.org; jianbo.liu@linaro.org
Subject: Re: [PATCH] ARMv8: Use built-in data types for unsupported poly64/128 types for GCC version lower than 4.9.0.

-----Original Message-----
> Date: Wed, 12 Jul 2017 18:50:19 +0800
> From: Herbert Guan <herbert.guan@arm.com>
> To: dev@dpdk.org, jerin.jacob@caviumnetworks.com,
> jianbo.liu@linaro.org
> CC: Herbert Guan <herbert.guan@arm.com>
> Subject: [PATCH] ARMv8: Use built-in data types for unsupported
> poly64/128  types for GCC version lower than 4.9.0.
> X-Mailer: git-send-email 1.8.3.1
>
> Fixes: 3c4b4024c2 (arch/arm: add vcopyq_laneq_u32 for old gcc)

Fix the check-git-log.sh warning. You could start the commit with
eal/armv8:

With check-git-log.sh fix:
Acked-by: Jerin Jacob <jerin.jacob@caviumnetworks.com>

[master][dpdk.org] $ ./devtools/check-git-log.sh Wrong headline format:
ARMv8: Use built-in data types for unsupported poly64/128 types for GCC version lower than 4.9.0.
Wrong headline uppercase:
ARMv8: Use built-in data types for unsupported poly64/128 types for GCC version lower than 4.9.0.
Headline too long:
ARMv8: Use built-in data types for unsupported poly64/128 types for GCC version lower than 4.9.0.



>
> Signed-off-by: Herbert Guan <herbert.guan@arm.com>
> ---
>  lib/librte_eal/common/include/arch/arm/rte_vect.h | 7 +++++++
>  1 file changed, 7 insertions(+)
>
> diff --git a/lib/librte_eal/common/include/arch/arm/rte_vect.h b/lib/librte_eal/common/include/arch/arm/rte_vect.h
> index 7fec25e..782350d 100644
> --- a/lib/librte_eal/common/include/arch/arm/rte_vect.h
> +++ b/lib/librte_eal/common/include/arch/arm/rte_vect.h
> @@ -101,6 +101,13 @@
>
>  #if defined(RTE_ARCH_ARM64)
>  #if defined(RTE_TOOLCHAIN_GCC) && (GCC_VERSION < 70000)
> +
> +#if (GCC_VERSION < 40900)
> +typedef uint64_t poly64_t;
> +typedef uint64x2_t poly64x2_t;
> +typedef uint8_t poly128_t __attribute__((vector_size(16), aligned(16)));
> +#endif
> +
>  /* NEON intrinsic vreinterpretq_u64_p128() is supported since GCC version 7 */
>  static inline uint64x2_t
>  vreinterpretq_u64_p128(poly128_t x)
> --
> 1.8.3.1
>
IMPORTANT NOTICE: The contents of this email and any attachments are confidential and may also be privileged. If you are not the intended recipient, please notify the sender immediately and do not disclose the contents to any other person, use it for any purpose, or store or copy the information in any medium. Thank you.
  

Patch

diff --git a/lib/librte_eal/common/include/arch/arm/rte_vect.h b/lib/librte_eal/common/include/arch/arm/rte_vect.h
index 7fec25e..782350d 100644
--- a/lib/librte_eal/common/include/arch/arm/rte_vect.h
+++ b/lib/librte_eal/common/include/arch/arm/rte_vect.h
@@ -101,6 +101,13 @@ 
 
 #if defined(RTE_ARCH_ARM64)
 #if defined(RTE_TOOLCHAIN_GCC) && (GCC_VERSION < 70000)
+
+#if (GCC_VERSION < 40900)
+typedef uint64_t poly64_t;
+typedef uint64x2_t poly64x2_t;
+typedef uint8_t poly128_t __attribute__((vector_size(16), aligned(16)));
+#endif
+
 /* NEON intrinsic vreinterpretq_u64_p128() is supported since GCC version 7 */
 static inline uint64x2_t
 vreinterpretq_u64_p128(poly128_t x)