NEON compatibility stuff

Signed-off-by: falkTX <falktx@falktx.com>
This commit is contained in:
falkTX 2021-10-09 23:19:01 +01:00
parent e0e4cefed1
commit fd4f878d74
No known key found for this signature in database
GPG key ID: CDBAA37ABC74FBA0
4 changed files with 29 additions and 1 deletions

3
.gitmodules vendored
View file

@ -7,3 +7,6 @@
[submodule "plugins/Cardinal/mingw-std-threads"]
path = plugins/Cardinal/mingw-std-threads
url = https://github.com/meganz/mingw-std-threads.git
[submodule "plugins/Cardinal/sse2neon"]
path = plugins/Cardinal/sse2neon
url = https://github.com/DLTcollab/sse2neon.git

View file

@ -88,7 +88,8 @@ ifneq ($(MACOS_OR_WINDOWS),true)
MACHINE_SUFFIX = -linux
endif
CONFIGURE = ./configure --prefix="$(DEP_PATH)" --host=$(TARGET_MACHINE)
# NOTE speex fails to build when neon is enabled
CONFIGURE = ./configure --prefix="$(DEP_PATH)" --host=$(TARGET_MACHINE) --enable-neon=no
# --------------------------------------------------------------
# Fix up cmake for windows cross-compilation
@ -145,6 +146,10 @@ BASE_FLAGS += -IRack/dep/oui-blendish
BASE_FLAGS += -IRack/dep/pffft
BASE_FLAGS += -pthread
ifeq ($(CPU_ARM_OR_AARCH64),true)
BASE_FLAGS += -Ineon-compat
endif
ifeq ($(WINDOWS),true)
BASE_FLAGS += -Imingw-compat
BUILD_CXX_FLAGS += -Imingw-std-threads

View file

@ -0,0 +1,19 @@
#pragma once
#ifdef NDEBUG
# undef DEBUG
#endif
#include "../sse2neon/sse2neon.h"
static inline
void __builtin_ia32_pause()
{
__asm__ __volatile__("isb\n");
}
static inline
uint32_t _mm_getcsr()
{
return 0;
}

@ -0,0 +1 @@
Subproject commit be721a98e7829ce5824a53da78d8210c024ba6c0