From a12555cc06ce5035ae3d1808f0dd3bfc9e6c1a2e Mon Sep 17 00:00:00 2001 From: Jeffery To Date: Tue, 12 May 2020 16:03:07 +0800 Subject: [PATCH] treewide: Enable VFP/NEON optimizations for aarch64 For speexdsp, support for NEON on aarch64 was added in 1.2.0[1]. [1]: https://github.com/xiph/speexdsp/pull/8 Signed-off-by: Jeffery To (cherry picked from commit dec17eb36c69435f97c6f5635dc57a76386db818) --- libs/libpng/Makefile | 3 ++- libs/opus/Makefile | 2 +- libs/speexdsp/Makefile | 3 +-- multimedia/ffmpeg/Makefile | 9 ++++++++- sound/mpg123/Makefile | 3 +++ 5 files changed, 15 insertions(+), 5 deletions(-) diff --git a/libs/libpng/Makefile b/libs/libpng/Makefile index 5e31a44b80..7f9b175d64 100644 --- a/libs/libpng/Makefile +++ b/libs/libpng/Makefile @@ -40,7 +40,8 @@ TARGET_CFLAGS += $(FPIC) CONFIGURE_ARGS += \ --enable-shared \ --enable-static \ - $(if $(findstring neon,$(CONFIG_CPU_TYPE)),--enable-hardware-optimizations=yes --enable-arm-neon=yes) + $(if $(findstring neon,$(CONFIG_CPU_TYPE))$(findstring aarch64,$(CONFIG_ARCH)), \ + --enable-hardware-optimizations=yes --enable-arm-neon=yes) define Build/InstallDev $(INSTALL_DIR) $(1)/usr/bin diff --git a/libs/opus/Makefile b/libs/opus/Makefile index 1c106128f3..02d9c50f0f 100644 --- a/libs/opus/Makefile +++ b/libs/opus/Makefile @@ -47,7 +47,7 @@ ifeq ($(CONFIG_SOFT_FLOAT),y) --enable-fixed-point endif -ifneq ($(findstring neon,$(CONFIG_CPU_TYPE)),) +ifneq ($(findstring neon,$(CONFIG_CPU_TYPE))$(findstring aarch64,$(CONFIG_ARCH)),) CONFIGURE_ARGS+= \ --enable-fixed-point endif diff --git a/libs/speexdsp/Makefile b/libs/speexdsp/Makefile index 284a1cab3e..14a350c349 100644 --- a/libs/speexdsp/Makefile +++ b/libs/speexdsp/Makefile @@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk PKG_NAME:=speexdsp PKG_VERSION:=1.2.0 -PKG_RELEASE:=1 +PKG_RELEASE:=2 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz PKG_SOURCE_URL:=https://downloads.us.xiph.org/releases/speex/ @@ -60,7 +60,6 @@ CONFIGURE_ARGS += \ --enable-shared \ --enable-static \ --disable-examples \ - $(if $(CONFIG_aarch64),--disable-neon) \ $(if $(CONFIG_SOFT_FLOAT),--enable-fixed-point --disable-float-api) $(eval $(call BuildPackage,libspeexdsp)) diff --git a/multimedia/ffmpeg/Makefile b/multimedia/ffmpeg/Makefile index f0fece8e75..5e8a14861c 100644 --- a/multimedia/ffmpeg/Makefile +++ b/multimedia/ffmpeg/Makefile @@ -444,7 +444,7 @@ FFMPEG_CONFIGURE+= \ --disable-fast-unaligned \ --disable-runtime-cpudetect -else ifneq ($(findstring arm,$(CONFIG_ARCH)),) +else ifneq ($(findstring arm,$(CONFIG_ARCH))$(findstring aarch64,$(CONFIG_ARCH)),) FFMPEG_CONFIGURE+= \ --disable-runtime-cpudetect # XXX: GitHub issue 3320 ppc cpu with fpu but no altivec (WNDR4700) @@ -478,6 +478,13 @@ ifneq ($(findstring arm,$(CONFIG_ARCH)),) endif endif +ifneq ($(findstring aarch64,$(CONFIG_ARCH)),) + FFMPEG_CONFIGURE+= \ + --enable-lto \ + --enable-neon \ + --enable-vfp +endif + ifeq ($(ARCH),x86_64) FFMPEG_CONFIGURE+= --enable-lto endif diff --git a/sound/mpg123/Makefile b/sound/mpg123/Makefile index 858ad15c9d..7b4ab74eb6 100644 --- a/sound/mpg123/Makefile +++ b/sound/mpg123/Makefile @@ -70,6 +70,9 @@ ifeq ($(CONFIG_SOFT_FLOAT),y) else ifneq ($(findstring neon,$(CONFIG_CPU_TYPE)),) CONFIGURE_ARGS+= \ --with-cpu=arm_fpu +else ifneq ($(findstring aarch64,$(CONFIG_ARCH)),) + CONFIGURE_ARGS+= \ + --with-cpu=aarch64 else CONFIGURE_ARGS+= \ --with-cpu=generic_fpu -- 2.30.2