summaryrefslogtreecommitdiff
path: root/gcell/src/lib/spu
diff options
context:
space:
mode:
authoreb2008-05-04 06:45:19 +0000
committereb2008-05-04 06:45:19 +0000
commitd5e5244a9ce8c5c3847c133c1107fba2af0e90c3 (patch)
tree3e4c894861ad17e9a7fd37416126fb69cef26983 /gcell/src/lib/spu
parentb1f675f291e9bcae640bd6fcb6707d50951f0268 (diff)
downloadgnuradio-d5e5244a9ce8c5c3847c133c1107fba2af0e90c3.tar.gz
gnuradio-d5e5244a9ce8c5c3847c133c1107fba2af0e90c3.tar.bz2
gnuradio-d5e5244a9ce8c5c3847c133c1107fba2af0e90c3.zip
Merged eb/gcell-wip -r8302:8307 into trunk. This changeset includes
an example of SPE assembler (memset.S), a new file of macros for use with SPE assembler (gc_spu_macs.h), and an extended QA framework. The easy to use QA framework adds support for SPE utility code that's usually not called from the PPE, such as memset. See qa_gcell_general.{h,cc} and qa_memset.c for example usage. memset achieves 44GB/s on the SPE. That's within 3% of ideal. git-svn-id: http://gnuradio.org/svn/gnuradio/trunk@8308 221aa14e-8319-0410-a670-987f0aec2ac5
Diffstat (limited to 'gcell/src/lib/spu')
-rw-r--r--gcell/src/lib/spu/Makefile.am27
1 files changed, 21 insertions, 6 deletions
diff --git a/gcell/src/lib/spu/Makefile.am b/gcell/src/lib/spu/Makefile.am
index 3c96d8f30..61ef7c8f4 100644
--- a/gcell/src/lib/spu/Makefile.am
+++ b/gcell/src/lib/spu/Makefile.am
@@ -58,15 +58,19 @@ runtime_spu_noinst_headers = \
general_srcdir = $(srcdir)/../general/spu
general_spu_sources = \
- $(general_srcdir)/fft_1d_r2.c
+ $(general_srcdir)/fft_1d_r2.c \
+ $(general_srcdir)/memset.S
general_spu_headers = \
$(general_srcdir)/libfft.h
general_spu_noinst_headers = \
$(general_srcdir)/fft_1d.h \
- $(general_srcdir)/fft_1d_r2.h
+ $(general_srcdir)/fft_1d_r2.h
+# The QA code for (usually) non-PPE visible support routines in lib/general/spu
+general_spu_qa_sources = \
+ $(general_srcdir)/qa_memset.c
# ----------------------------------------------------------------
# files in the lib/wrapper/spu directory
@@ -99,16 +103,27 @@ noinst_HEADERS = \
$(wrapper_spu_noinst_headers)
# ----------------------------------------------------------------
-# SPU executables
+# build some SPU executables
noinst_PROGRAMS = \
gcell_all \
- gcell_runtime_qa
+ gcell_runtime_qa \
+ gcell_general_qa
-# all known gcell procs (at least until they get too big)
+#
+# All known non-QA gcell procs (at least until they get too big).
+#
gcell_all_SOURCES = $(wrapper_spu_sources)
gcell_all_LDADD = libgcell_spu.a
-# just the QA code required for testing the runtime
+#
+# The QA code required for testing the runtime.
+#
gcell_runtime_qa_SOURCES = $(runtime_srcdir)/gcell_runtime_qa.c
gcell_runtime_qa_LDADD = libgcell_spu.a
+
+#
+# The QA code required for testing the SPE support routines in lib/general/spu
+#
+gcell_general_qa_SOURCES = $(general_spu_qa_sources)
+gcell_general_qa_LDADD = libgcell_spu.a