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 <jeffery.to@gmail.com>
(cherry picked from commit dec17eb36c)
This commit is contained in:
Jeffery To 2020-05-12 16:03:07 +08:00
parent 595342148e
commit a12555cc06
5 changed files with 15 additions and 5 deletions

View File

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

View File

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

View File

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

View File

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

View File

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