diff mbox series

build: enable Arm NEON flags when __aarch64__ is defined

Message ID 1534950067-113999-1-git-send-email-honnappa.nagarahalli@arm.com
State Superseded
Headers show
Series build: enable Arm NEON flags when __aarch64__ is defined | expand

Commit Message

Honnappa Nagarahalli Aug. 22, 2018, 3:01 p.m. UTC
GCC version 4.8.5 does not pre-define __ARM_NEON. NEON is not
optional for ArmV8. Hence NEON related code can be enabled
when __aarch64__ is defined.

Bugzilla ID: 82

Signed-off-by: Honnappa Nagarahalli <honnappa.nagarahalli@arm.com>

Reviewed-by: Phil Yang <phil.yang@arm.com>

Reviewed-by: Gavin Hu <gavin.hu@arm.com>

Reported-by: Raslan Darawsheh <rasland@mellanox.com>
Reported-by: Thomas F Herbert <therbert@redhat.com>
---
 config/arm/meson.build | 3 ++-
 mk/rte.cpuflags.mk     | 2 +-
 2 files changed, 3 insertions(+), 2 deletions(-)

-- 
2.17.1

Comments

Gavin Hu (Arm Technology China) Aug. 29, 2018, 7:01 a.m. UTC | #1
> -----Original Message-----

> From: Honnappa Nagarahalli <honnappa.nagarahalli@arm.com>

> Sent: Wednesday, August 22, 2018 11:01 PM

> To: bruce.richardson@intel.com

> Cc: dev@dpdk.org; Gavin Hu <Gavin.Hu@arm.com>; rasland@mellanox.com;

> therbert@redhat.com; Honnappa Nagarahalli

> <Honnappa.Nagarahalli@arm.com>

> Subject: [PATCH] build: enable Arm NEON flags when __aarch64__ is defined

> 

> GCC version 4.8.5 does not pre-define __ARM_NEON. NEON is not optional

> for ArmV8. Hence NEON related code can be enabled when __aarch64__ is

> defined.

> 

> Bugzilla ID: 82

> 

> Signed-off-by: Honnappa Nagarahalli <honnappa.nagarahalli@arm.com>

> Reviewed-by: Phil Yang <phil.yang@arm.com>

> Reviewed-by: Gavin Hu <gavin.hu@arm.com>

> Reported-by: Raslan Darawsheh <rasland@mellanox.com>

> Reported-by: Thomas F Herbert <therbert@redhat.com>

Acked-by: Gavin Hu <gavin.hu@arm.com>

> ---

>  config/arm/meson.build | 3 ++-

>  mk/rte.cpuflags.mk     | 2 +-

>  2 files changed, 3 insertions(+), 2 deletions(-)

> 

> diff --git a/config/arm/meson.build b/config/arm/meson.build index

> 40dbc87f7..94cca490e 100644

> --- a/config/arm/meson.build

> +++ b/config/arm/meson.build

> @@ -157,7 +157,8 @@ else

>  endif

>  message(machine_args)

> 

> -if cc.get_define('__ARM_NEON', args: machine_args) != ''

> +if (cc.get_define('__ARM_NEON', args: machine_args) != '' or

> +    cc.get_define('__aarch64__', args: machine_args) != '')

>  	dpdk_conf.set('RTE_MACHINE_CPUFLAG_NEON', 1)

>  	compile_time_cpuflags += ['RTE_CPUFLAG_NEON']  endif diff --git

> a/mk/rte.cpuflags.mk b/mk/rte.cpuflags.mk index 60713137d..43ed84155

> 100644

> --- a/mk/rte.cpuflags.mk

> +++ b/mk/rte.cpuflags.mk

> @@ -89,7 +89,7 @@ CPUFLAGS += VSX

>  endif

> 

>  # ARM flags

> -ifneq ($(filter $(AUTO_CPUFLAGS),__ARM_NEON),)

> +ifneq ($(filter __ARM_NEON __aarch64__,$(AUTO_CPUFLAGS)),)

>  CPUFLAGS += NEON

>  endif

> 

> --

> 2.17.1
Jerin Jacob Aug. 29, 2018, 7:21 a.m. UTC | #2
-----Original Message-----
> Date: Wed, 22 Aug 2018 10:01:07 -0500

> From: Honnappa Nagarahalli <honnappa.nagarahalli@arm.com>

> To: bruce.richardson@intel.com

> CC: dev@dpdk.org, gavin.hu@arm.com, rasland@mellanox.com,

>  therbert@redhat.com, honnappa.nagarahalli@arm.com

> Subject: [dpdk-dev] [PATCH] build: enable Arm NEON flags when __aarch64__

>  is defined

> X-Mailer: git-send-email 2.7.4

> 

> External Email

> 

> GCC version 4.8.5 does not pre-define __ARM_NEON. NEON is not

> optional for ArmV8. Hence NEON related code can be enabled

> when __aarch64__ is defined.

> 

> Bugzilla ID: 82

> 

> Signed-off-by: Honnappa Nagarahalli <honnappa.nagarahalli@arm.com>

> Reviewed-by: Phil Yang <phil.yang@arm.com>

> Reviewed-by: Gavin Hu <gavin.hu@arm.com>

> Reported-by: Raslan Darawsheh <rasland@mellanox.com>

> Reported-by: Thomas F Herbert <therbert@redhat.com>


Fixes:
Cc: stable
blank line
Reported-by:
Suggested-by:
Signed-off-by:

In general, Please follow the above order.

With above change:
Acked-by: Jerin Jacob <jerin.jacob@caviumnetworks.com>


> ---

>  config/arm/meson.build | 3 ++-

>  mk/rte.cpuflags.mk     | 2 +-

>  2 files changed, 3 insertions(+), 2 deletions(-)

> 

> diff --git a/config/arm/meson.build b/config/arm/meson.build

> index 40dbc87f7..94cca490e 100644

> --- a/config/arm/meson.build

> +++ b/config/arm/meson.build

> @@ -157,7 +157,8 @@ else

>  endif

>  message(machine_args)

> 

> -if cc.get_define('__ARM_NEON', args: machine_args) != ''

> +if (cc.get_define('__ARM_NEON', args: machine_args) != '' or

> +    cc.get_define('__aarch64__', args: machine_args) != '')

>         dpdk_conf.set('RTE_MACHINE_CPUFLAG_NEON', 1)

>         compile_time_cpuflags += ['RTE_CPUFLAG_NEON']

>  endif

> diff --git a/mk/rte.cpuflags.mk b/mk/rte.cpuflags.mk

> index 60713137d..43ed84155 100644

> --- a/mk/rte.cpuflags.mk

> +++ b/mk/rte.cpuflags.mk

> @@ -89,7 +89,7 @@ CPUFLAGS += VSX

>  endif

> 

>  # ARM flags

> -ifneq ($(filter $(AUTO_CPUFLAGS),__ARM_NEON),)

> +ifneq ($(filter __ARM_NEON __aarch64__,$(AUTO_CPUFLAGS)),)

>  CPUFLAGS += NEON

>  endif

> 

> --

> 2.17.1

>
diff mbox series

Patch

diff --git a/config/arm/meson.build b/config/arm/meson.build
index 40dbc87f7..94cca490e 100644
--- a/config/arm/meson.build
+++ b/config/arm/meson.build
@@ -157,7 +157,8 @@  else
 endif
 message(machine_args)
 
-if cc.get_define('__ARM_NEON', args: machine_args) != ''
+if (cc.get_define('__ARM_NEON', args: machine_args) != '' or
+    cc.get_define('__aarch64__', args: machine_args) != '')
 	dpdk_conf.set('RTE_MACHINE_CPUFLAG_NEON', 1)
 	compile_time_cpuflags += ['RTE_CPUFLAG_NEON']
 endif
diff --git a/mk/rte.cpuflags.mk b/mk/rte.cpuflags.mk
index 60713137d..43ed84155 100644
--- a/mk/rte.cpuflags.mk
+++ b/mk/rte.cpuflags.mk
@@ -89,7 +89,7 @@  CPUFLAGS += VSX
 endif
 
 # ARM flags
-ifneq ($(filter $(AUTO_CPUFLAGS),__ARM_NEON),)
+ifneq ($(filter __ARM_NEON __aarch64__,$(AUTO_CPUFLAGS)),)
 CPUFLAGS += NEON
 endif