From mboxrd@z Thu Jan  1 00:00:00 1970
Return-Path: <honnappa.nagarahalli@arm.com>
Received: from foss.arm.com (usa-sjc-mx-foss1.foss.arm.com [217.140.101.70])
 by dpdk.org (Postfix) with ESMTP id 0980F2C38
 for <dev@dpdk.org>; Wed, 22 Aug 2018 17:01:17 +0200 (CEST)
Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.72.51.249])
 by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 4ADB1ED1;
 Wed, 22 Aug 2018 08:01:17 -0700 (PDT)
Received: from ubuntu.localdomain (u202406.usa.arm.com [10.118.30.59])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id E953A3F2EA;
 Wed, 22 Aug 2018 08:01:16 -0700 (PDT)
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
Date: Wed, 22 Aug 2018 10:01:07 -0500
Message-Id: <1534950067-113999-1-git-send-email-honnappa.nagarahalli@arm.com>
X-Mailer: git-send-email 2.7.4
Subject: [dpdk-dev] [PATCH] build: enable Arm NEON flags when __aarch64__ is
	defined
X-BeenThere: dev@dpdk.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: DPDK patches and discussions <dev.dpdk.org>
List-Unsubscribe: <https://mails.dpdk.org/options/dev>,
 <mailto:dev-request@dpdk.org?subject=unsubscribe>
List-Archive: <http://mails.dpdk.org/archives/dev/>
List-Post: <mailto:dev@dpdk.org>
List-Help: <mailto:dev-request@dpdk.org?subject=help>
List-Subscribe: <https://mails.dpdk.org/listinfo/dev>,
 <mailto:dev-request@dpdk.org?subject=subscribe>
X-List-Received-Date: Wed, 22 Aug 2018 15:01:18 -0000

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(-)

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