<html><head></head><body>Hi,<br><br>AArch64 NEON is not compatible with ARM NEON. You can't just treat them as equal. And it makes zero sense to use A7 CPU tuning in that case also.<br><br><div class="gmail_quote">Le 26 novembre 2019 15:50:38 GMT+02:00, Alexandre Janniaux <ajanni@videolabs.io> a écrit :<blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">
<pre class="k9mail">SIMD32 CMake script only matches CMAKE_SYSTEM_PROCESSOR against "^arm",<br>while it is "aarch64" when building for arm64.<br><br>Fix the detection by adding the match against "^aarch64" too to<br>generate NEON code on arm64.<hr> ...ake-SIMD32-fix-detection-for-aarch64.patch | 35 +++++++++++++++++++<br> contrib/src/soxr/rules.mak                    |  1 +<br> 2 files changed, 36 insertions(+)<br> create mode 100644 contrib/src/soxr/0005-cmake-SIMD32-fix-detection-for-aarch64.patch<br><br>diff --git a/contrib/src/soxr/0005-cmake-SIMD32-fix-detection-for-aarch64.patch b/contrib/src/soxr/0005-cmake-SIMD32-fix-detection-for-aarch64.patch<br>new file mode 100644<br>index 0000000000..1cfd85b394<br>--- /dev/null<br>+++ b/contrib/src/soxr/0005-cmake-SIMD32-fix-detection-for-aarch64.patch<br>@@ -0,0 +1,35 @@<br>+From d68eedd3cfe632c50e3859219f3868bedc3a4a34 Mon Sep 17 00:00:00 2001<br>+From: Alexandre Janniaux <ajanni@videolabs.io><br>+Date: Tue, 26 Nov 2019 11:38:25 +0100<br>+Subject: [PATCH] cmake: SIMD32: fix ARM detection for aarch64<br>+<br>+When compiling for android for arm64, the settings exposed to cmake will<br>+be the following:<br>+<br>++ Android: API '21'<br>++ Architecture: 'arm64'<br>++ ABI: 'arm64-v8a'<br>++ Processor: 'aarch64'<br>+<br>+So CMAKE_SYSTEM_PROCESSOR must also be checked for aarch64 so as to<br>+generate NEON code.<br>+---<br>+ cmake/Modules/FindSIMD32.cmake | 3 ++-<br>+ 1 file changed, 2 insertions(+), 1 deletion(-)<br>+<br>+diff --git a/cmake/Modules/FindSIMD32.cmake b/cmake/Modules/FindSIMD32.cmake<br>+index 9e42373..eaf5864 100644<br>+--- a/cmake/Modules/FindSIMD32.cmake<br>++++ b/cmake/Modules/FindSIMD32.cmake<br>+@@ -9,7 +9,8 @@<br>+<br>+ if (DEFINED SIMD32_C_FLAGS)<br>+   set (TRIAL_C_FLAGS)<br>+-elseif (CMAKE_SYSTEM_PROCESSOR MATCHES "^arm")<br>++elseif (CMAKE_SYSTEM_PROCESSOR MATCHES "^arm"<br>++        OR CMAKE_SYSTEM_PROCESSOR MATCHES "^aarch64")<br>+   set (TRIAL_C_FLAGS<br>+     # Gcc<br>+     "-mfpu=neon-vfpv4 -mcpu=cortex-a7"<br>+--<br>+2.24.0<br>diff --git a/contrib/src/soxr/rules.mak b/contrib/src/soxr/rules.mak<br>index a26557b6fb..d861790c6d 100644<br>--- a/contrib/src/soxr/rules.mak<br>+++ b/contrib/src/soxr/rules.mak<br>@@ -21,6 +21,7 @@ soxr: soxr-$(SOXR_VERSION)-Source.tar.xz .sum-soxr<br>  $(APPLY) $(SRC)/soxr/0003-add-aarch64-support.patch<br>   $(APPLY) $(SRC)/soxr/0004-arm-fix-SIGILL-when-doing-divisions-on-some-old-arch.patch<br>  $(APPLY) $(SRC)/soxr/find_ff_pkgconfig.patch<br>+ $(APPLY) $(SRC)/soxr/0005-cmake-SIMD32-fix-detection-for-aarch64.patch<br>        $(call pkg_static,"src/soxr.pc.in")<br>         $(MOVE)<br> </pre></blockquote></div><br>-- <br>Envoyé de mon appareil Android avec Courriel K-9 Mail. Veuillez excuser ma brièveté.</body></html>