rudimentary ARM support

This commit is contained in:
Connor Olding 2014-02-24 16:18:58 -08:00
parent 195e33d2a5
commit e8cf7505e7
4 changed files with 25 additions and 9 deletions

View file

@ -71,6 +71,11 @@ linux: ALL_CXXFLAGS += $(OPT_FLAGS) -fpic
linux: VST_FLAGS += -D__cdecl= linux: VST_FLAGS += -D__cdecl=
linux: all 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: options:
@echo "CPPFLAGS = $(CPPFLAGS)" @echo "CPPFLAGS = $(CPPFLAGS)"
@echo "ALL_CFLAGS = $(ALL_CFLAGS)" @echo "ALL_CFLAGS = $(ALL_CFLAGS)"
@ -85,7 +90,7 @@ ladspa: $(LADSPA_SHOBJ)
vst: $(VST_SHOBJ) vst: $(VST_SHOBJ)
pretest: util/sse_test.h pretest: util/denorm_test.h
@$(CC) -E $(ALL_CFLAGS) $^ -o /dev/null @$(CC) -E $(ALL_CFLAGS) $^ -o /dev/null
benchmark: $(BIN)/bench $(AGAINST) benchmark: $(BIN)/bench $(AGAINST)

View file

@ -49,6 +49,8 @@ experimentation with delay compensation and EQ oversampling, not for use.
`make linux` or `make windows` (works well with [mxe]) `make linux` or `make windows` (works well with [mxe])
[mxe]: //mxe.cc [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/` remember to export `VST_SDK_DIR` to the path of your `vstsdk2.4/`
other targets: other targets:
@ -58,7 +60,6 @@ other targets:
## TODO ## TODO
* ARM support
* spaces-in-paths support in Makefile * spaces-in-paths support in Makefile
* rename plugins (fix capitalization consistency and such) * rename plugins (fix capitalization consistency and such)
* reduce input/output buffers on biquads (shared) * reduce input/output buffers on biquads (shared)

17
util/denorm_test.h Normal file
View file

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

View file

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