From d567ceb9306f8250a28e0b68cc4ca9d196deef75 Mon Sep 17 00:00:00 2001 From: "Matthias P. Braendli" Date: Sat, 13 Sep 2014 20:51:22 +0200 Subject: Add some Buffer comments --- src/Buffer.cpp | 17 ++++------------- 1 file changed, 4 insertions(+), 13 deletions(-) (limited to 'src/Buffer.cpp') diff --git a/src/Buffer.cpp b/src/Buffer.cpp index 7cbbe57..dff2623 100644 --- a/src/Buffer.cpp +++ b/src/Buffer.cpp @@ -73,8 +73,10 @@ void Buffer::setLength(size_t len) /* Align to 32-byte boundary for AVX. */ data = memalign(32, len); - memcpy(data, tmp, this->len); - free(tmp); + if (tmp != NULL) { + memcpy(data, tmp, this->len); + free(tmp); + } size = len; } this->len = len; @@ -97,14 +99,3 @@ void Buffer::appendData(const void *data, size_t len) } } - -size_t Buffer::getLength() -{ - return len; -} - - -void *Buffer::getData() -{ - return data; -} -- cgit v1.2.3 From ea6f1557a0dd686fd74020509bdaadf689dd1c76 Mon Sep 17 00:00:00 2001 From: "Matthias P. Braendli" Date: Fri, 10 Oct 2014 12:11:31 +0000 Subject: Get compilation working on ARM --- configure.ac | 20 ++++++++++++++++++++ src/Buffer.cpp | 2 +- src/DabMod.cpp | 4 ++-- src/Flowgraph.cpp | 6 +++--- src/Makefile.am | 8 +++++++- src/Resampler.cpp | 6 +++--- 6 files changed, 36 insertions(+), 10 deletions(-) (limited to 'src/Buffer.cpp') diff --git a/configure.ac b/configure.ac index 9b8bcb7..07d6195 100644 --- a/configure.ac +++ b/configure.ac @@ -133,6 +133,26 @@ AC_COMPILE_IFELSE( [AC_MSG_RESULT([yes])], [AC_MSG_RESULT([no]) AC_DEFINE([M_PIl], [M_PI], [Replacing define])]) AC_LANG_POP([C++]) +# Check for SSE +AC_MSG_CHECKING(for SSE in current arch/CFLAGS) +AC_LINK_IFELSE([ +AC_LANG_PROGRAM([[ +#include +__m128 testfunc(float *a, float *b) { + return _mm_add_ps(_mm_loadu_ps(a), _mm_loadu_ps(b)); +} +]])], +[ +has_sse=yes +], +[ +has_sse=no +] +) +AC_MSG_RESULT($has_sse) + +AM_CONDITIONAL([HAVE_SSE], [test "x$has_sse" = "xyes"]) + AM_CONDITIONAL([IS_GIT_REPO], [test -d '.git']) AC_TYPE_SIGNAL diff --git a/src/Buffer.cpp b/src/Buffer.cpp index dff2623..aa0ef4c 100644 --- a/src/Buffer.cpp +++ b/src/Buffer.cpp @@ -26,7 +26,7 @@ #include #include #include -#ifdef HAVE_DECL__MM_MALLOC +#if HAVE_DECL__MM_MALLOC # include #else # define memalign(a, b) malloc(b) diff --git a/src/DabMod.cpp b/src/DabMod.cpp index 7ee65dc..67ad12d 100644 --- a/src/DabMod.cpp +++ b/src/DabMod.cpp @@ -56,11 +56,11 @@ #include #include -#ifdef HAVE_NETINET_IN_H +#if HAVE_NETINET_IN_H # include #endif -#ifdef HAVE_DECL__MM_MALLOC +#if HAVE_DECL__MM_MALLOC # include #else # define memalign(a, b) malloc(b) diff --git a/src/Flowgraph.cpp b/src/Flowgraph.cpp index 4e44f28..dd9c68b 100644 --- a/src/Flowgraph.cpp +++ b/src/Flowgraph.cpp @@ -23,10 +23,10 @@ #include "PcDebug.h" -#ifdef __ppc__ -# define memalign(a, b) malloc(b) -#else // !__ppc__ +#if HAVE_DECL__MM_MALLOC # include +#else +# define memalign(a, b) malloc(b) #endif #include #include diff --git a/src/Makefile.am b/src/Makefile.am index 3e851c4..f6102e9 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -34,6 +34,12 @@ else UHD_SOURCES = endif +if HAVE_SSE +SIMD_CFLAGS = -msse -msse2 +else +SIMD_CFLAGS = +endif + FFT_DIR=$(top_builddir)/lib/kiss_fft129 FFT_INC=-I$(FFT_DIR) -I$(FFT_DIR)/tools FFT_SRC=$(FFT_DIR)/kiss_fft.c $(FFT_DIR)/kiss_fft.h $(FFT_DIR)/tools/kiss_fftr.c $(FFT_DIR)/tools/kiss_fftr.h kiss_fftsimd.c kiss_fftsimd.h @@ -52,7 +58,7 @@ $(FFT_DIR): tar xzf $(top_srcdir)/lib/kiss_fft129.tar.gz -C $(top_builddir)/lib; \ fi -odr_dabmod_CPPFLAGS = -Wall $(FFT_INC) $(FFT_FLG) -msse -msse2 $(GITVERSION_FLAGS) +odr_dabmod_CPPFLAGS = -Wall $(FFT_INC) $(FFT_FLG) $(SIMD_CFLAGS) $(GITVERSION_FLAGS) odr_dabmod_LDADD = $(ZMQ_LIBS) odr_dabmod_SOURCES = DabMod.cpp \ PcDebug.h \ diff --git a/src/Resampler.cpp b/src/Resampler.cpp index 773b9cc..334be99 100644 --- a/src/Resampler.cpp +++ b/src/Resampler.cpp @@ -23,10 +23,10 @@ #include "PcDebug.h" -#ifdef __ppc__ -# define memalign(a, b) malloc(b) -#else // !__ppc__ +#if HAVE_DECL__MM_MALLOC # include +#else +# define memalign(a, b) malloc(b) #endif #include #include -- cgit v1.2.3