From e8cf7505e7206dc7d76fb62845d534d8f94c5132 Mon Sep 17 00:00:00 2001 From: Connor Olding Date: Mon, 24 Feb 2014 16:18:58 -0800 Subject: [PATCH] rudimentary ARM support --- Makefile | 7 ++++++- README.md | 3 ++- util/denorm_test.h | 17 +++++++++++++++++ util/sse_test.h | 7 ------- 4 files changed, 25 insertions(+), 9 deletions(-) create mode 100644 util/denorm_test.h delete mode 100644 util/sse_test.h diff --git a/Makefile b/Makefile index 30d3663..a9b9dcb 100644 --- a/Makefile +++ b/Makefile @@ -71,6 +71,11 @@ linux: ALL_CXXFLAGS += $(OPT_FLAGS) -fpic linux: VST_FLAGS += -D__cdecl= linux: all +linux-arm: ALL_CFLAGS += -Ofast -mfpu=neon -fpic +linux-arm: ALL_CXXFLAGS += -Ofast -mfpu=neon -fpic +linux-arm: VST_FLAGS += -D__cdecl= +linux-arm: all + options: @echo "CPPFLAGS = $(CPPFLAGS)" @echo "ALL_CFLAGS = $(ALL_CFLAGS)" @@ -85,7 +90,7 @@ ladspa: $(LADSPA_SHOBJ) vst: $(VST_SHOBJ) -pretest: util/sse_test.h +pretest: util/denorm_test.h @$(CC) -E $(ALL_CFLAGS) $^ -o /dev/null benchmark: $(BIN)/bench $(AGAINST) diff --git a/README.md b/README.md index d1b738f..a684e84 100644 --- a/README.md +++ b/README.md @@ -49,6 +49,8 @@ experimentation with delay compensation and EQ oversampling, not for use. `make linux` or `make windows` (works well with [mxe]) [mxe]: //mxe.cc +`make linux-arm` requires a CPU with a NEON unit + remember to export `VST_SDK_DIR` to the path of your `vstsdk2.4/` other targets: @@ -58,7 +60,6 @@ other targets: ## TODO -* ARM support * spaces-in-paths support in Makefile * rename plugins (fix capitalization consistency and such) * reduce input/output buffers on biquads (shared) diff --git a/util/denorm_test.h b/util/denorm_test.h new file mode 100644 index 0000000..e4f4c22 --- /dev/null +++ b/util/denorm_test.h @@ -0,0 +1,17 @@ +#ifndef __arm__ + #ifdef __SSE2__ + #ifndef __SSE2_MATH__ + #warning SSE2 enabled but not forced, beware denormals + #endif + #else + #warning built without SSE2, denormals will be painful + #endif +#else + #ifndef __ARM_NEON__ + #warning built without NEON, denormals will be painful + #else + #ifndef __FAST_MATH__ + #warning NEON enabled but not forced, beware denormals + #endif + #endif +#endif diff --git a/util/sse_test.h b/util/sse_test.h deleted file mode 100644 index 555f0cb..0000000 --- a/util/sse_test.h +++ /dev/null @@ -1,7 +0,0 @@ -#ifdef __SSE2__ -#ifndef __SSE2_MATH__ -#warning SSE2 enabled but not forced, beware denormals -#endif -#else -#warning built without SSE2, denormals will be painful -#endif