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