package/fftw: add x86 optimisations

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Gwenhael Goavec-Merou <gwenhael.goavec-merou@trabucayre.com>
Cc: guillaume william brs <guillaume.bressaix@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
This commit is contained in:
Yann E. MORIN 2015-03-16 17:31:22 +01:00 committed by Thomas Petazzoni
parent 96336c6248
commit 20b741da4c
2 changed files with 13 additions and 0 deletions

View File

@ -12,6 +12,12 @@ config BR2_PACKAGE_FFTW
if BR2_PACKAGE_FFTW if BR2_PACKAGE_FFTW
config BR2_PACKAGE_FFTW_USE_SSE
bool
config BR2_PACKAGE_FFTW_USE_SSE2
bool
choice choice
prompt "fftw precision" prompt "fftw precision"
default BR2_PACKAGE_FFTW_PRECISION_DOUBLE default BR2_PACKAGE_FFTW_PRECISION_DOUBLE
@ -20,12 +26,15 @@ choice
config BR2_PACKAGE_FFTW_PRECISION_SINGLE config BR2_PACKAGE_FFTW_PRECISION_SINGLE
bool "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
help help
Compile fftw in single precision, i.e. use 'float' for floating Compile fftw in single precision, i.e. use 'float' for floating
point type. point type.
config BR2_PACKAGE_FFTW_PRECISION_DOUBLE config BR2_PACKAGE_FFTW_PRECISION_DOUBLE
bool "double" bool "double"
select BR2_PACKAGE_FFTW_USE_SSE2 if BR2_X86_CPU_HAS_SSE2
help help
Compile fftw in double precision (the default), i.e. use 'double' Compile fftw in double precision (the default), i.e. use 'double'
for floating point type. for floating point type.

View File

@ -19,6 +19,10 @@ ifeq ($(BR2_PACKAGE_FFTW_FAST),y)
FFTW_CFLAGS += -Ofast FFTW_CFLAGS += -Ofast
endif endif
# x86 optimisations
FFTW_CONF_OPTS += $(if $(BR2_PACKAGE_FFTW_USE_SSE),--enable,--disable)-sse
FFTW_CONF_OPTS += $(if $(BR2_PACKAGE_FFTW_USE_SSE2),--enable,--disable)-sse2
FFTW_CONF_OPTS += CFLAGS="$(FFTW_CFLAGS)" FFTW_CONF_OPTS += CFLAGS="$(FFTW_CFLAGS)"
$(eval $(autotools-package)) $(eval $(autotools-package))