package/fftw: add ARM optimisations
authorYann E. MORIN <yann.morin.1998@free.fr>
Mon, 16 Mar 2015 16:31:23 +0000 (17:31 +0100)
committerThomas Petazzoni <thomas.petazzoni@free-electrons.com>
Mon, 16 Mar 2015 18:44:02 +0000 (19:44 +0100)
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
[based on a patch by Guillaume]
Cc: guillaume william brs <guillaume.bressaix@gmail.com>
Cc: Gwenhael Goavec-Merou <gwenhael.goavec-merou@trabucayre.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
package/fftw/Config.in
package/fftw/fftw.mk

index 7feadd8b0fabe54ae55a5481d08d136c5bbcbed5..d9a65d594fa2bdc06651c5ace6931f334610abce 100644 (file)
@@ -18,6 +18,9 @@ config BR2_PACKAGE_FFTW_USE_SSE
 config BR2_PACKAGE_FFTW_USE_SSE2
        bool
 
+config BR2_PACKAGE_FFTW_USE_NEON
+       bool
+
 choice
        prompt "fftw precision"
        default BR2_PACKAGE_FFTW_PRECISION_DOUBLE
@@ -28,6 +31,7 @@ config BR2_PACKAGE_FFTW_PRECISION_SINGLE
        bool "single"
        select BR2_PACKAGE_FFTW_USE_SSE if BR2_X86_CPU_HAS_SSE
        select BR2_PACKAGE_FFTW_USE_SSE2 if BR2_X86_CPU_HAS_SSE2
+       select BR2_PACKAGE_FFTW_USE_NEON if BR2_ARM_CPU_HAS_NEON && !BR2_ARM_SOFT_FLOAT
        help
          Compile fftw in single precision, i.e. use 'float' for floating
          point type.
index daa3cc22fdf5c735203b77af56926108150f26b0..154f522ea343c987ebcf5b5bddd59b71878e1dce 100644 (file)
@@ -23,6 +23,10 @@ endif
 FFTW_CONF_OPTS += $(if $(BR2_PACKAGE_FFTW_USE_SSE),--enable,--disable)-sse
 FFTW_CONF_OPTS += $(if $(BR2_PACKAGE_FFTW_USE_SSE2),--enable,--disable)-sse2
 
+# ARM optimisations
+FFTW_CONF_OPTS += $(if $(BR2_PACKAGE_FFTW_USE_NEON),--enable,--disable)-neon
+FFTW_CFLAGS += $(if $(BR2_PACKAGE_FFTW_USE_NEON),-mfpu=neon)
+
 FFTW_CONF_OPTS += CFLAGS="$(FFTW_CFLAGS)"
 
 $(eval $(autotools-package))