[gnuradio] Disabled NEON optimisations (neon patch, sent upstream)
Jaroslav Škarvada
jskarvad at fedoraproject.org
Fri Jul 13 15:18:28 UTC 2012
commit 3e4ea58f5b7e3703c31c77e2a62ec2ca7abc4cd4
Author: Jaroslav Škarvada <jskarvad at redhat.com>
Date: Fri Jul 13 17:18:22 2012 +0200
Disabled NEON optimisations (neon patch, sent upstream)
Resolves: rhbz#837028
- Removed sdcc build requires (not needed)
gnuradio-3.6.1-neon.patch | 40 ++++++++++++++++++++++++++++++++++++++++
gnuradio.spec | 17 +++++++++++++++--
2 files changed, 55 insertions(+), 2 deletions(-)
---
diff --git a/gnuradio-3.6.1-neon.patch b/gnuradio-3.6.1-neon.patch
new file mode 100644
index 0000000..0b19277
--- /dev/null
+++ b/gnuradio-3.6.1-neon.patch
@@ -0,0 +1,40 @@
+diff --git a/gnuradio-core/src/lib/filter/CMakeLists.txt b/gnuradio-core/src/lib/filter/CMakeLists.txt
+index facaff7..088d337 100644
+--- a/gnuradio-core/src/lib/filter/CMakeLists.txt
++++ b/gnuradio-core/src/lib/filter/CMakeLists.txt
+@@ -210,6 +210,9 @@ elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "^(powerpc|ppc)")
+ ${CMAKE_CURRENT_SOURCE_DIR}/qa_dotprod_powerpc.cc
+ )
+ elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "^arm")
++ if(have_mfpu_neon)
++ add_definitions(-DHAVE_MFPU_NEON)
++ endif()
+ list(APPEND gnuradio_core_sources
+ ${CMAKE_CURRENT_SOURCE_DIR}/sysconfig_armv7_a.cc
+ ${CMAKE_CURRENT_SOURCE_DIR}/gr_fir_sysconfig_armv7_a.cc
+diff --git a/gnuradio-core/src/lib/filter/dotprod_ccf_armv7_a.c b/gnuradio-core/src/lib/filter/dotprod_ccf_armv7_a.c
+index e7c6b26..c125b49 100644
+--- a/gnuradio-core/src/lib/filter/dotprod_ccf_armv7_a.c
++++ b/gnuradio-core/src/lib/filter/dotprod_ccf_armv7_a.c
+@@ -37,7 +37,7 @@ gr_p2_round_down(size_t x, size_t pow2)
+ }
+
+
+-#if 0
++#ifndef HAVE_MFPU_NEON
+
+ void
+ dotprod_ccf_armv7_a(const float *a, const float *b, float *res, size_t n)
+diff --git a/gnuradio-core/src/lib/filter/dotprod_fff_armv7_a.c b/gnuradio-core/src/lib/filter/dotprod_fff_armv7_a.c
+index 68c448b..23bbef0 100644
+--- a/gnuradio-core/src/lib/filter/dotprod_fff_armv7_a.c
++++ b/gnuradio-core/src/lib/filter/dotprod_fff_armv7_a.c
+@@ -37,7 +37,7 @@ gr_p2_round_down(size_t x, size_t pow2)
+ }
+
+
+-#if 0
++#ifndef HAVE_MFPU_NEON
+
+ float
+ dotprod_fff_armv7_a(const float *a, const float *b, size_t n)
diff --git a/gnuradio.spec b/gnuradio.spec
index 476ee2f..57b9005 100644
--- a/gnuradio.spec
+++ b/gnuradio.spec
@@ -1,6 +1,11 @@
%{!?python_sitearch: %global python_sitearch %(%{__python} -c "from distutils.sysconfig import get_python_lib; print(get_python_lib(1))")}
%{?_smp_mflags: %global my_smp_mflags %(echo "%{_smp_mflags}" | sed 's/-j[0-9]\\+/-j1/g')}
+# For now disable NEON on all ARMs
+%ifarch %{arm}
+%global disable_mfpu_neon -Dhave_mfpu_neon=0
+%endif
+
# For versions not yet on ftp, pull from git
#%%global git_commit 441a3767e05d15e62c519ea66b848b5adb0f4b3a
@@ -9,7 +14,7 @@
Name: gnuradio
Version: 3.6.1
-Release: 1%{?dist}
+Release: 2%{?dist}
Summary: Software defined radio framework
Group: Applications/Engineering
@@ -23,9 +28,10 @@ Source0: http://gnuradio.org/redmine/attachments/download/%{attachment_id}/gnura
# git archive --format=tar --prefix=%%{name}-%%{version}/ %%{git_commit} | \
# gzip > ../%%{name}-%%{version}.tar.gz
+Patch0: gnuradio-3.6.1-neon.patch
+
Requires(pre): shadow-utils
BuildRequires: cmake
-BuildRequires: sdcc
BuildRequires: fftw-devel
BuildRequires: cppunit-devel
BuildRequires: wxPython-devel
@@ -101,6 +107,7 @@ GNU Radio examples
%prep
%setup -q
+%patch0 -p1 -b .neon
#force regeneration of cached moc output files
find . -name "*_moc.cc" -exec rm {} \;
@@ -117,6 +124,7 @@ cd build
-DENABLE_GR_TRELLIS=FORCE -DENABLE_GR_VIDEO_SDL=FORCE \
-DENABLE_GR_WXGUI=FORCE -DENABLE_GR_UTILS=FORCE \
-DENABLE_GRC=FORCE -DENABLE-GR_COMEDI=FORCE \
+%{disable_mfpu_neon} \
..
# make with -j1 and compile without strict-aliasing
@@ -167,6 +175,11 @@ rm -rf %{buildroot}
%{_datadir}/gnuradio/examples
%changelog
+* Fri Jul 13 2012 Jaroslav Škarvada <jskarvad at redhat.com> - 3.6.1-2
+- Disabled NEON optimisations (neon patch, sent upstream)
+ Resolves: rhbz#837028
+- Removed sdcc build requires (not needed)
+
* Tue Jun 12 2012 Jaroslav Škarvada <jskarvad at redhat.com> - 3.6.1-1
- New version
Resolves: rhbz#831187
More information about the scm-commits
mailing list