summaryrefslogtreecommitdiff
path: root/volk
diff options
context:
space:
mode:
Diffstat (limited to 'volk')
-rw-r--r--volk/.gitignore43
-rw-r--r--volk/AUTHORS0
-rw-r--r--volk/COPYING674
-rw-r--r--volk/ChangeLog0
-rw-r--r--volk/INSTALL236
-rw-r--r--volk/Makefile.am65
-rw-r--r--volk/Makefile.common51
-rw-r--r--volk/NEWS0
-rw-r--r--volk/README1
-rw-r--r--volk/apps/Makefile.am27
-rw-r--r--volk/apps/volk_profile.cc4
-rwxr-xr-xvolk/bootstrap35
-rw-r--r--volk/cmake/FindORC.cmake6
-rw-r--r--volk/config.guess1517
-rw-r--r--volk/config.sub1756
-rw-r--r--volk/config/.gitignore16
-rw-r--r--volk/config/Makefile.am58
-rw-r--r--volk/config/acx_pthread.m4275
-rw-r--r--volk/config/ax_boost_base.m4334
-rw-r--r--volk/config/ax_boost_unit_test_framework.m436
-rw-r--r--volk/config/bnv_have_qt.m4404
-rwxr-xr-xvolk/config/gcc_version_workaround.m453
-rw-r--r--volk/config/gr_lib64.m485
-rw-r--r--volk/config/gr_libgnuradio_core_extra_ldflags.m440
-rw-r--r--volk/config/gr_no_undefined.m444
-rw-r--r--volk/config/gr_omnithread.m452
-rw-r--r--volk/config/gr_pwin32.m4135
-rw-r--r--volk/config/gr_set_md_cpu.m463
-rw-r--r--volk/config/gr_sysv_shm.m436
-rw-r--r--volk/config/lf_cc.m441
-rw-r--r--volk/config/lf_cxx.m450
-rw-r--r--volk/config/lf_warnings.m4123
-rw-r--r--volk/config/lf_x11.m439
-rw-r--r--volk/config/lv_configure.m4114
-rw-r--r--volk/config/mkstemp.m478
-rw-r--r--volk/config/onceonly.m463
-rw-r--r--volk/config/orc.m463
-rw-r--r--volk/config/pkg.m4201
-rw-r--r--volk/configure.ac80
-rw-r--r--volk/data/Makefile.am30
-rw-r--r--volk/doc/Makefile.am32
-rw-r--r--volk/gen/.gitignore3
-rw-r--r--volk/gen/archs.xml2
-rw-r--r--volk/gen/make_c.py4
-rw-r--r--volk/gen/make_config_fixed.py2
-rw-r--r--volk/gen/make_cpuid_c.py38
-rw-r--r--volk/gen/make_cpuid_h.py12
-rw-r--r--volk/gen/make_each_machine_c.py2
-rw-r--r--volk/gen/make_environment_init_c.py10
-rw-r--r--volk/gen/make_environment_init_h.py4
-rw-r--r--volk/gen/make_h.py2
-rw-r--r--volk/gen/make_machines_c.py2
-rw-r--r--volk/gen/make_machines_h.py6
-rw-r--r--volk/gen/make_makefile_am.py12
-rw-r--r--volk/gen/make_proccpu_sim.py12
-rw-r--r--volk/gen/make_set_simd.py26
-rw-r--r--volk/gen/make_typedefs.py2
-rw-r--r--volk/gen/volk_register.py42
-rw-r--r--volk/include/.gitignore10
-rw-r--r--volk/include/Makefile.am23
-rw-r--r--volk/include/volk/.gitignore2
-rw-r--r--volk/include/volk/Makefile.am140
-rw-r--r--volk/include/volk/volk_16i_branch_4_state_8_a.h118
-rw-r--r--volk/include/volk/volk_16i_convert_8i_a.h4
-rw-r--r--volk/include/volk/volk_16i_convert_8i_u.h4
-rw-r--r--volk/include/volk/volk_16i_max_star_16i_a.h68
-rw-r--r--volk/include/volk/volk_16i_max_star_horizontal_16i_a.h76
-rw-r--r--volk/include/volk/volk_16i_permute_and_scalar_add_a.h62
-rw-r--r--volk/include/volk/volk_16i_s32f_convert_32f_a.h8
-rw-r--r--volk/include/volk/volk_16i_s32f_convert_32f_u.h8
-rw-r--r--volk/include/volk/volk_16i_x4_quad_max_star_16i_a.h56
-rw-r--r--volk/include/volk/volk_16i_x5_add_quad_16i_x4_a.h22
-rw-r--r--volk/include/volk/volk_16ic_deinterleave_16i_x2_a.h2
-rw-r--r--volk/include/volk/volk_16ic_deinterleave_real_16i_a.h2
-rw-r--r--volk/include/volk/volk_16ic_magnitude_16i_a.h6
-rw-r--r--volk/include/volk/volk_16ic_s32f_deinterleave_32f_x2_a.h6
-rw-r--r--volk/include/volk/volk_16ic_s32f_deinterleave_real_32f_a.h10
-rw-r--r--volk/include/volk/volk_16ic_s32f_magnitude_32f_a.h14
-rw-r--r--volk/include/volk/volk_16u_byteswap_a.h4
-rw-r--r--volk/include/volk/volk_32f_accumulator_s32f_a.h6
-rw-r--r--volk/include/volk/volk_32f_convert_64f_a.h6
-rw-r--r--volk/include/volk/volk_32f_convert_64f_u.h6
-rw-r--r--volk/include/volk/volk_32f_index_max_16u_a.h12
-rw-r--r--volk/include/volk/volk_32f_s32f_32f_fm_detect_32f_a.h12
-rw-r--r--volk/include/volk/volk_32f_s32f_calc_spectral_noise_floor_32f_a.h8
-rw-r--r--volk/include/volk/volk_32f_s32f_convert_16i_a.h8
-rw-r--r--volk/include/volk/volk_32f_s32f_convert_16i_u.h8
-rw-r--r--volk/include/volk/volk_32f_s32f_convert_32i_a.h12
-rw-r--r--volk/include/volk/volk_32f_s32f_convert_32i_u.h8
-rw-r--r--volk/include/volk/volk_32f_s32f_convert_8i_a.h10
-rw-r--r--volk/include/volk/volk_32f_s32f_convert_8i_u.h10
-rw-r--r--volk/include/volk/volk_32f_s32f_multiply_32f_a.h20
-rw-r--r--volk/include/volk/volk_32f_s32f_multiply_32f_u.h20
-rw-r--r--volk/include/volk/volk_32f_s32f_power_32f_a.h20
-rw-r--r--volk/include/volk/volk_32f_s32f_stddev_32f_a.h12
-rw-r--r--volk/include/volk/volk_32f_sqrt_32f_a.h10
-rw-r--r--volk/include/volk/volk_32f_stddev_and_mean_32f_x2_a.h12
-rw-r--r--volk/include/volk/volk_32f_x2_add_32f_a.h10
-rw-r--r--volk/include/volk/volk_32f_x2_add_32f_u.h10
-rw-r--r--volk/include/volk/volk_32f_x2_divide_32f_a.h10
-rw-r--r--volk/include/volk/volk_32f_x2_dot_prod_32f_a.h32
-rw-r--r--volk/include/volk/volk_32f_x2_dot_prod_32f_u.h32
-rw-r--r--volk/include/volk/volk_32f_x2_interleave_32fc_a.h2
-rw-r--r--volk/include/volk/volk_32f_x2_max_32f_a.h10
-rw-r--r--volk/include/volk/volk_32f_x2_min_32f_a.h10
-rw-r--r--volk/include/volk/volk_32f_x2_multiply_32f_a.h20
-rw-r--r--volk/include/volk/volk_32f_x2_multiply_32f_u.h20
-rw-r--r--volk/include/volk/volk_32f_x2_s32f_interleave_16ic_a.h12
-rw-r--r--volk/include/volk/volk_32f_x2_subtract_32f_a.h10
-rw-r--r--volk/include/volk/volk_32f_x3_sum_of_poly_32f_a.h70
-rw-r--r--volk/include/volk/volk_32fc_32f_multiply_32fc_a.h16
-rw-r--r--volk/include/volk/volk_32fc_conjugate_32fc_a.h4
-rw-r--r--volk/include/volk/volk_32fc_conjugate_32fc_u.h6
-rw-r--r--volk/include/volk/volk_32fc_deinterleave_32f_x2_a.h4
-rw-r--r--volk/include/volk/volk_32fc_deinterleave_64f_x2_a.h8
-rw-r--r--volk/include/volk/volk_32fc_deinterleave_imag_32f_a.h2
-rw-r--r--volk/include/volk/volk_32fc_deinterleave_real_32f_a.h2
-rw-r--r--volk/include/volk/volk_32fc_deinterleave_real_64f_a.h6
-rw-r--r--volk/include/volk/volk_32fc_index_max_16u_a.h126
-rw-r--r--volk/include/volk/volk_32fc_magnitude_32f_a.h2
-rw-r--r--volk/include/volk/volk_32fc_magnitude_32f_u.h2
-rw-r--r--volk/include/volk/volk_32fc_magnitude_squared_32f_a.h2
-rw-r--r--volk/include/volk/volk_32fc_magnitude_squared_32f_u.h2
-rw-r--r--volk/include/volk/volk_32fc_s32f_atan2_32f_a.h20
-rw-r--r--volk/include/volk/volk_32fc_s32f_power_32fc_a.h38
-rw-r--r--volk/include/volk/volk_32fc_s32f_power_spectrum_32f_a.h24
-rw-r--r--volk/include/volk/volk_32fc_s32f_x2_power_spectral_density_32f_a.h24
-rw-r--r--volk/include/volk/volk_32fc_s32fc_multiply_32fc_a.h12
-rw-r--r--volk/include/volk/volk_32fc_s32fc_multiply_32fc_u.h12
-rw-r--r--volk/include/volk/volk_32fc_x2_conjugate_dot_prod_32fc_a.h84
-rw-r--r--volk/include/volk/volk_32fc_x2_conjugate_dot_prod_32fc_u.h32
-rw-r--r--volk/include/volk/volk_32fc_x2_dot_prod_32fc_a.h126
-rw-r--r--volk/include/volk/volk_32fc_x2_multiply_32fc_a.h14
-rw-r--r--volk/include/volk/volk_32fc_x2_multiply_32fc_u.h14
-rw-r--r--volk/include/volk/volk_32fc_x2_multiply_conjugate_32fc_a.h14
-rw-r--r--volk/include/volk/volk_32fc_x2_multiply_conjugate_32fc_u.h14
-rw-r--r--volk/include/volk/volk_32fc_x2_s32f_square_dist_scalar_mult_32f_a.h56
-rw-r--r--volk/include/volk/volk_32fc_x2_square_dist_32f_a.h40
-rw-r--r--volk/include/volk/volk_32i_s32f_convert_32f_a.h2
-rw-r--r--volk/include/volk/volk_32i_s32f_convert_32f_u.h2
-rw-r--r--volk/include/volk/volk_32i_x2_and_32i_a.h10
-rw-r--r--volk/include/volk/volk_32i_x2_or_32i_a.h10
-rw-r--r--volk/include/volk/volk_32u_byteswap_a.h6
-rw-r--r--volk/include/volk/volk_64f_convert_32f_a.h6
-rw-r--r--volk/include/volk/volk_64f_convert_32f_u.h6
-rw-r--r--volk/include/volk/volk_64f_x2_max_64f_a.h10
-rw-r--r--volk/include/volk/volk_64f_x2_min_64f_a.h10
-rw-r--r--volk/include/volk/volk_64u_byteswap_a.h18
-rw-r--r--volk/include/volk/volk_64u_popcnt_a.h2
-rw-r--r--volk/include/volk/volk_8i_s32f_convert_32f_a.h2
-rw-r--r--volk/include/volk/volk_8i_s32f_convert_32f_u.h2
-rw-r--r--volk/include/volk/volk_8ic_s32f_deinterleave_32f_x2_a.h8
-rw-r--r--volk/include/volk/volk_8ic_s32f_deinterleave_real_32f_a.h10
-rw-r--r--volk/include/volk/volk_8ic_x2_multiply_conjugate_16ic_a.h8
-rw-r--r--volk/include/volk/volk_8ic_x2_s32f_multiply_conjugate_32fc_a.h4
-rw-r--r--volk/lib/.gitignore4
-rw-r--r--volk/lib/gcc_x86_cpuid.h6
-rw-r--r--volk/lib/qa_16s_add_quad_aligned16.cc10
-rw-r--r--volk/lib/qa_16s_branch_4_state_8_aligned16.cc38
-rw-r--r--volk/lib/qa_16s_permute_and_scalar_add_aligned16.cc18
-rw-r--r--volk/lib/qa_16s_quad_max_star_aligned16.cc6
-rw-r--r--volk/lib/qa_32f_fm_detect_aligned16.cc8
-rw-r--r--volk/lib/qa_32f_index_max_aligned16.cc36
-rw-r--r--volk/lib/qa_32fc_index_max_aligned16.cc34
-rw-r--r--volk/lib/qa_32fc_power_spectral_density_32f_aligned16.cc8
-rw-r--r--volk/lib/qa_32fc_x2_conjugate_dot_prod_32fc_u.cc28
-rw-r--r--volk/lib/qa_32u_popcnt_aligned16.cc8
-rw-r--r--volk/lib/qa_64u_popcnt_aligned16.cc8
-rw-r--r--volk/lib/qa_utils.cc54
-rw-r--r--volk/lib/volk_prefs.c2
-rw-r--r--volk/lib/volk_rank_archs.c4
-rwxr-xr-xvolk/libvector_replace.sh4
-rw-r--r--volk/msvc/inttypes.h18
-rw-r--r--volk/msvc/stdint.h18
-rw-r--r--volk/orc/.gitignore2
-rw-r--r--volk/orc/Makefile.am57
-rw-r--r--volk/python/Makefile.am40
-rw-r--r--volk/python/__init__.py10
-rwxr-xr-xvolk/python/qa_square.py12
-rw-r--r--volk/python/run_tests.in50
-rw-r--r--volk/python/volk.i8
-rw-r--r--volk/python/volk_square_ff.i8
-rw-r--r--volk/spu_lib/gc_spu_macs.h34
-rw-r--r--volk/spu_lib/spu_16s_cmpgt_unaligned.c66
-rw-r--r--volk/spu_lib/spu_16s_vector_subtract_unaligned.c68
-rw-r--r--volk/spu_lib/spu_16s_vector_sum_unaligned.c68
-rw-r--r--volk/spu_lib/spu_32fc_pointwise_multiply_unaligned.c94
-rw-r--r--volk/spu_lib/spu_memcpy_unaligned.c122
-rw-r--r--volk/spu_lib/spu_memset_unaligned.S44
189 files changed, 1385 insertions, 8666 deletions
diff --git a/volk/.gitignore b/volk/.gitignore
deleted file mode 100644
index dcd421895..000000000
--- a/volk/.gitignore
+++ /dev/null
@@ -1,43 +0,0 @@
-.*
-*.o
-*.a
-*.ko
-*.so
-*.la
-*.lo
-*.py[oc]
-*.gz
-*.exe
-*.patch
-*~
-\#*#
-.deps
-.libs
-TAGS
-*-stamp
-!.gitattributes
-!.gitignore
-make.log
-/configure
-/Makefile.in
-/config.log
-/config.h
-/ltmain.sh
-/Makefile
-/config.status
-/stamp-h1
-/stamp-h2
-/config.h.in
-/autom4te.cache
-/libtool
-/missing
-/aclocal.m4
-/install-sh
-/depcomp
-/py-compile
-/compile
-/build
-/run_tests.sh
-/volk.pc
-/volk_config.h
-/volk_config.h.in
diff --git a/volk/AUTHORS b/volk/AUTHORS
deleted file mode 100644
index e69de29bb..000000000
--- a/volk/AUTHORS
+++ /dev/null
diff --git a/volk/COPYING b/volk/COPYING
deleted file mode 100644
index 94a9ed024..000000000
--- a/volk/COPYING
+++ /dev/null
@@ -1,674 +0,0 @@
- GNU GENERAL PUBLIC LICENSE
- Version 3, 29 June 2007
-
- Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/>
- Everyone is permitted to copy and distribute verbatim copies
- of this license document, but changing it is not allowed.
-
- Preamble
-
- The GNU General Public License is a free, copyleft license for
-software and other kinds of works.
-
- The licenses for most software and other practical works are designed
-to take away your freedom to share and change the works. By contrast,
-the GNU General Public License is intended to guarantee your freedom to
-share and change all versions of a program--to make sure it remains free
-software for all its users. We, the Free Software Foundation, use the
-GNU General Public License for most of our software; it applies also to
-any other work released this way by its authors. You can apply it to
-your programs, too.
-
- When we speak of free software, we are referring to freedom, not
-price. Our General Public Licenses are designed to make sure that you
-have the freedom to distribute copies of free software (and charge for
-them if you wish), that you receive source code or can get it if you
-want it, that you can change the software or use pieces of it in new
-free programs, and that you know you can do these things.
-
- To protect your rights, we need to prevent others from denying you
-these rights or asking you to surrender the rights. Therefore, you have
-certain responsibilities if you distribute copies of the software, or if
-you modify it: responsibilities to respect the freedom of others.
-
- For example, if you distribute copies of such a program, whether
-gratis or for a fee, you must pass on to the recipients the same
-freedoms that you received. You must make sure that they, too, receive
-or can get the source code. And you must show them these terms so they
-know their rights.
-
- Developers that use the GNU GPL protect your rights with two steps:
-(1) assert copyright on the software, and (2) offer you this License
-giving you legal permission to copy, distribute and/or modify it.
-
- For the developers' and authors' protection, the GPL clearly explains
-that there is no warranty for this free software. For both users' and
-authors' sake, the GPL requires that modified versions be marked as
-changed, so that their problems will not be attributed erroneously to
-authors of previous versions.
-
- Some devices are designed to deny users access to install or run
-modified versions of the software inside them, although the manufacturer
-can do so. This is fundamentally incompatible with the aim of
-protecting users' freedom to change the software. The systematic
-pattern of such abuse occurs in the area of products for individuals to
-use, which is precisely where it is most unacceptable. Therefore, we
-have designed this version of the GPL to prohibit the practice for those
-products. If such problems arise substantially in other domains, we
-stand ready to extend this provision to those domains in future versions
-of the GPL, as needed to protect the freedom of users.
-
- Finally, every program is threatened constantly by software patents.
-States should not allow patents to restrict development and use of
-software on general-purpose computers, but in those that do, we wish to
-avoid the special danger that patents applied to a free program could
-make it effectively proprietary. To prevent this, the GPL assures that
-patents cannot be used to render the program non-free.
-
- The precise terms and conditions for copying, distribution and
-modification follow.
-
- TERMS AND CONDITIONS
-
- 0. Definitions.
-
- "This License" refers to version 3 of the GNU General Public License.
-
- "Copyright" also means copyright-like laws that apply to other kinds of
-works, such as semiconductor masks.
-
- "The Program" refers to any copyrightable work licensed under this
-License. Each licensee is addressed as "you". "Licensees" and
-"recipients" may be individuals or organizations.
-
- To "modify" a work means to copy from or adapt all or part of the work
-in a fashion requiring copyright permission, other than the making of an
-exact copy. The resulting work is called a "modified version" of the
-earlier work or a work "based on" the earlier work.
-
- A "covered work" means either the unmodified Program or a work based
-on the Program.
-
- To "propagate" a work means to do anything with it that, without
-permission, would make you directly or secondarily liable for
-infringement under applicable copyright law, except executing it on a
-computer or modifying a private copy. Propagation includes copying,
-distribution (with or without modification), making available to the
-public, and in some countries other activities as well.
-
- To "convey" a work means any kind of propagation that enables other
-parties to make or receive copies. Mere interaction with a user through
-a computer network, with no transfer of a copy, is not conveying.
-
- An interactive user interface displays "Appropriate Legal Notices"
-to the extent that it includes a convenient and prominently visible
-feature that (1) displays an appropriate copyright notice, and (2)
-tells the user that there is no warranty for the work (except to the
-extent that warranties are provided), that licensees may convey the
-work under this License, and how to view a copy of this License. If
-the interface presents a list of user commands or options, such as a
-menu, a prominent item in the list meets this criterion.
-
- 1. Source Code.
-
- The "source code" for a work means the preferred form of the work
-for making modifications to it. "Object code" means any non-source
-form of a work.
-
- A "Standard Interface" means an interface that either is an official
-standard defined by a recognized standards body, or, in the case of
-interfaces specified for a particular programming language, one that
-is widely used among developers working in that language.
-
- The "System Libraries" of an executable work include anything, other
-than the work as a whole, that (a) is included in the normal form of
-packaging a Major Component, but which is not part of that Major
-Component, and (b) serves only to enable use of the work with that
-Major Component, or to implement a Standard Interface for which an
-implementation is available to the public in source code form. A
-"Major Component", in this context, means a major essential component
-(kernel, window system, and so on) of the specific operating system
-(if any) on which the executable work runs, or a compiler used to
-produce the work, or an object code interpreter used to run it.
-
- The "Corresponding Source" for a work in object code form means all
-the source code needed to generate, install, and (for an executable
-work) run the object code and to modify the work, including scripts to
-control those activities. However, it does not include the work's
-System Libraries, or general-purpose tools or generally available free
-programs which are used unmodified in performing those activities but
-which are not part of the work. For example, Corresponding Source
-includes interface definition files associated with source files for
-the work, and the source code for shared libraries and dynamically
-linked subprograms that the work is specifically designed to require,
-such as by intimate data communication or control flow between those
-subprograms and other parts of the work.
-
- The Corresponding Source need not include anything that users
-can regenerate automatically from other parts of the Corresponding
-Source.
-
- The Corresponding Source for a work in source code form is that
-same work.
-
- 2. Basic Permissions.
-
- All rights granted under this License are granted for the term of
-copyright on the Program, and are irrevocable provided the stated
-conditions are met. This License explicitly affirms your unlimited
-permission to run the unmodified Program. The output from running a
-covered work is covered by this License only if the output, given its
-content, constitutes a covered work. This License acknowledges your
-rights of fair use or other equivalent, as provided by copyright law.
-
- You may make, run and propagate covered works that you do not
-convey, without conditions so long as your license otherwise remains
-in force. You may convey covered works to others for the sole purpose
-of having them make modifications exclusively for you, or provide you
-with facilities for running those works, provided that you comply with
-the terms of this License in conveying all material for which you do
-not control copyright. Those thus making or running the covered works
-for you must do so exclusively on your behalf, under your direction
-and control, on terms that prohibit them from making any copies of
-your copyrighted material outside their relationship with you.
-
- Conveying under any other circumstances is permitted solely under
-the conditions stated below. Sublicensing is not allowed; section 10
-makes it unnecessary.
-
- 3. Protecting Users' Legal Rights From Anti-Circumvention Law.
-
- No covered work shall be deemed part of an effective technological
-measure under any applicable law fulfilling obligations under article
-11 of the WIPO copyright treaty adopted on 20 December 1996, or
-similar laws prohibiting or restricting circumvention of such
-measures.
-
- When you convey a covered work, you waive any legal power to forbid
-circumvention of technological measures to the extent such circumvention
-is effected by exercising rights under this License with respect to
-the covered work, and you disclaim any intention to limit operation or
-modification of the work as a means of enforcing, against the work's
-users, your or third parties' legal rights to forbid circumvention of
-technological measures.
-
- 4. Conveying Verbatim Copies.
-
- You may convey verbatim copies of the Program's source code as you
-receive it, in any medium, provided that you conspicuously and
-appropriately publish on each copy an appropriate copyright notice;
-keep intact all notices stating that this License and any
-non-permissive terms added in accord with section 7 apply to the code;
-keep intact all notices of the absence of any warranty; and give all
-recipients a copy of this License along with the Program.
-
- You may charge any price or no price for each copy that you convey,
-and you may offer support or warranty protection for a fee.
-
- 5. Conveying Modified Source Versions.
-
- You may convey a work based on the Program, or the modifications to
-produce it from the Program, in the form of source code under the
-terms of section 4, provided that you also meet all of these conditions:
-
- a) The work must carry prominent notices stating that you modified
- it, and giving a relevant date.
-
- b) The work must carry prominent notices stating that it is
- released under this License and any conditions added under section
- 7. This requirement modifies the requirement in section 4 to
- "keep intact all notices".
-
- c) You must license the entire work, as a whole, under this
- License to anyone who comes into possession of a copy. This
- License will therefore apply, along with any applicable section 7
- additional terms, to the whole of the work, and all its parts,
- regardless of how they are packaged. This License gives no
- permission to license the work in any other way, but it does not
- invalidate such permission if you have separately received it.
-
- d) If the work has interactive user interfaces, each must display
- Appropriate Legal Notices; however, if the Program has interactive
- interfaces that do not display Appropriate Legal Notices, your
- work need not make them do so.
-
- A compilation of a covered work with other separate and independent
-works, which are not by their nature extensions of the covered work,
-and which are not combined with it such as to form a larger program,
-in or on a volume of a storage or distribution medium, is called an
-"aggregate" if the compilation and its resulting copyright are not
-used to limit the access or legal rights of the compilation's users
-beyond what the individual works permit. Inclusion of a covered work
-in an aggregate does not cause this License to apply to the other
-parts of the aggregate.
-
- 6. Conveying Non-Source Forms.
-
- You may convey a covered work in object code form under the terms
-of sections 4 and 5, provided that you also convey the
-machine-readable Corresponding Source under the terms of this License,
-in one of these ways:
-
- a) Convey the object code in, or embodied in, a physical product
- (including a physical distribution medium), accompanied by the
- Corresponding Source fixed on a durable physical medium
- customarily used for software interchange.
-
- b) Convey the object code in, or embodied in, a physical product
- (including a physical distribution medium), accompanied by a
- written offer, valid for at least three years and valid for as
- long as you offer spare parts or customer support for that product
- model, to give anyone who possesses the object code either (1) a
- copy of the Corresponding Source for all the software in the
- product that is covered by this License, on a durable physical
- medium customarily used for software interchange, for a price no
- more than your reasonable cost of physically performing this
- conveying of source, or (2) access to copy the
- Corresponding Source from a network server at no charge.
-
- c) Convey individual copies of the object code with a copy of the
- written offer to provide the Corresponding Source. This
- alternative is allowed only occasionally and noncommercially, and
- only if you received the object code with such an offer, in accord
- with subsection 6b.
-
- d) Convey the object code by offering access from a designated
- place (gratis or for a charge), and offer equivalent access to the
- Corresponding Source in the same way through the same place at no
- further charge. You need not require recipients to copy the
- Corresponding Source along with the object code. If the place to
- copy the object code is a network server, the Corresponding Source
- may be on a different server (operated by you or a third party)
- that supports equivalent copying facilities, provided you maintain
- clear directions next to the object code saying where to find the
- Corresponding Source. Regardless of what server hosts the
- Corresponding Source, you remain obligated to ensure that it is
- available for as long as needed to satisfy these requirements.
-
- e) Convey the object code using peer-to-peer transmission, provided
- you inform other peers where the object code and Corresponding
- Source of the work are being offered to the general public at no
- charge under subsection 6d.
-
- A separable portion of the object code, whose source code is excluded
-from the Corresponding Source as a System Library, need not be
-included in conveying the object code work.
-
- A "User Product" is either (1) a "consumer product", which means any
-tangible personal property which is normally used for personal, family,
-or household purposes, or (2) anything designed or sold for incorporation
-into a dwelling. In determining whether a product is a consumer product,
-doubtful cases shall be resolved in favor of coverage. For a particular
-product received by a particular user, "normally used" refers to a
-typical or common use of that class of product, regardless of the status
-of the particular user or of the way in which the particular user
-actually uses, or expects or is expected to use, the product. A product
-is a consumer product regardless of whether the product has substantial
-commercial, industrial or non-consumer uses, unless such uses represent
-the only significant mode of use of the product.
-
- "Installation Information" for a User Product means any methods,
-procedures, authorization keys, or other information required to install
-and execute modified versions of a covered work in that User Product from
-a modified version of its Corresponding Source. The information must
-suffice to ensure that the continued functioning of the modified object
-code is in no case prevented or interfered with solely because
-modification has been made.
-
- If you convey an object code work under this section in, or with, or
-specifically for use in, a User Product, and the conveying occurs as
-part of a transaction in which the right of possession and use of the
-User Product is transferred to the recipient in perpetuity or for a
-fixed term (regardless of how the transaction is characterized), the
-Corresponding Source conveyed under this section must be accompanied
-by the Installation Information. But this requirement does not apply
-if neither you nor any third party retains the ability to install
-modified object code on the User Product (for example, the work has
-been installed in ROM).
-
- The requirement to provide Installation Information does not include a
-requirement to continue to provide support service, warranty, or updates
-for a work that has been modified or installed by the recipient, or for
-the User Product in which it has been modified or installed. Access to a
-network may be denied when the modification itself materially and
-adversely affects the operation of the network or violates the rules and
-protocols for communication across the network.
-
- Corresponding Source conveyed, and Installation Information provided,
-in accord with this section must be in a format that is publicly
-documented (and with an implementation available to the public in
-source code form), and must require no special password or key for
-unpacking, reading or copying.
-
- 7. Additional Terms.
-
- "Additional permissions" are terms that supplement the terms of this
-License by making exceptions from one or more of its conditions.
-Additional permissions that are applicable to the entire Program shall
-be treated as though they were included in this License, to the extent
-that they are valid under applicable law. If additional permissions
-apply only to part of the Program, that part may be used separately
-under those permissions, but the entire Program remains governed by
-this License without regard to the additional permissions.
-
- When you convey a copy of a covered work, you may at your option
-remove any additional permissions from that copy, or from any part of
-it. (Additional permissions may be written to require their own
-removal in certain cases when you modify the work.) You may place
-additional permissions on material, added by you to a covered work,
-for which you have or can give appropriate copyright permission.
-
- Notwithstanding any other provision of this License, for material you
-add to a covered work, you may (if authorized by the copyright holders of
-that material) supplement the terms of this License with terms:
-
- a) Disclaiming warranty or limiting liability differently from the
- terms of sections 15 and 16 of this License; or
-
- b) Requiring preservation of specified reasonable legal notices or
- author attributions in that material or in the Appropriate Legal
- Notices displayed by works containing it; or
-
- c) Prohibiting misrepresentation of the origin of that material, or
- requiring that modified versions of such material be marked in
- reasonable ways as different from the original version; or
-
- d) Limiting the use for publicity purposes of names of licensors or
- authors of the material; or
-
- e) Declining to grant rights under trademark law for use of some
- trade names, trademarks, or service marks; or
-
- f) Requiring indemnification of licensors and authors of that
- material by anyone who conveys the material (or modified versions of
- it) with contractual assumptions of liability to the recipient, for
- any liability that these contractual assumptions directly impose on
- those licensors and authors.
-
- All other non-permissive additional terms are considered "further
-restrictions" within the meaning of section 10. If the Program as you
-received it, or any part of it, contains a notice stating that it is
-governed by this License along with a term that is a further
-restriction, you may remove that term. If a license document contains
-a further restriction but permits relicensing or conveying under this
-License, you may add to a covered work material governed by the terms
-of that license document, provided that the further restriction does
-not survive such relicensing or conveying.
-
- If you add terms to a covered work in accord with this section, you
-must place, in the relevant source files, a statement of the
-additional terms that apply to those files, or a notice indicating
-where to find the applicable terms.
-
- Additional terms, permissive or non-permissive, may be stated in the
-form of a separately written license, or stated as exceptions;
-the above requirements apply either way.
-
- 8. Termination.
-
- You may not propagate or modify a covered work except as expressly
-provided under this License. Any attempt otherwise to propagate or
-modify it is void, and will automatically terminate your rights under
-this License (including any patent licenses granted under the third
-paragraph of section 11).
-
- However, if you cease all violation of this License, then your
-license from a particular copyright holder is reinstated (a)
-provisionally, unless and until the copyright holder explicitly and
-finally terminates your license, and (b) permanently, if the copyright
-holder fails to notify you of the violation by some reasonable means
-prior to 60 days after the cessation.
-
- Moreover, your license from a particular copyright holder is
-reinstated permanently if the copyright holder notifies you of the
-violation by some reasonable means, this is the first time you have
-received notice of violation of this License (for any work) from that
-copyright holder, and you cure the violation prior to 30 days after
-your receipt of the notice.
-
- Termination of your rights under this section does not terminate the
-licenses of parties who have received copies or rights from you under
-this License. If your rights have been terminated and not permanently
-reinstated, you do not qualify to receive new licenses for the same
-material under section 10.
-
- 9. Acceptance Not Required for Having Copies.
-
- You are not required to accept this License in order to receive or
-run a copy of the Program. Ancillary propagation of a covered work
-occurring solely as a consequence of using peer-to-peer transmission
-to receive a copy likewise does not require acceptance. However,
-nothing other than this License grants you permission to propagate or
-modify any covered work. These actions infringe copyright if you do
-not accept this License. Therefore, by modifying or propagating a
-covered work, you indicate your acceptance of this License to do so.
-
- 10. Automatic Licensing of Downstream Recipients.
-
- Each time you convey a covered work, the recipient automatically
-receives a license from the original licensors, to run, modify and
-propagate that work, subject to this License. You are not responsible
-for enforcing compliance by third parties with this License.
-
- An "entity transaction" is a transaction transferring control of an
-organization, or substantially all assets of one, or subdividing an
-organization, or merging organizations. If propagation of a covered
-work results from an entity transaction, each party to that
-transaction who receives a copy of the work also receives whatever
-licenses to the work the party's predecessor in interest had or could
-give under the previous paragraph, plus a right to possession of the
-Corresponding Source of the work from the predecessor in interest, if
-the predecessor has it or can get it with reasonable efforts.
-
- You may not impose any further restrictions on the exercise of the
-rights granted or affirmed under this License. For example, you may
-not impose a license fee, royalty, or other charge for exercise of
-rights granted under this License, and you may not initiate litigation
-(including a cross-claim or counterclaim in a lawsuit) alleging that
-any patent claim is infringed by making, using, selling, offering for
-sale, or importing the Program or any portion of it.
-
- 11. Patents.
-
- A "contributor" is a copyright holder who authorizes use under this
-License of the Program or a work on which the Program is based. The
-work thus licensed is called the contributor's "contributor version".
-
- A contributor's "essential patent claims" are all patent claims
-owned or controlled by the contributor, whether already acquired or
-hereafter acquired, that would be infringed by some manner, permitted
-by this License, of making, using, or selling its contributor version,
-but do not include claims that would be infringed only as a
-consequence of further modification of the contributor version. For
-purposes of this definition, "control" includes the right to grant
-patent sublicenses in a manner consistent with the requirements of
-this License.
-
- Each contributor grants you a non-exclusive, worldwide, royalty-free
-patent license under the contributor's essential patent claims, to
-make, use, sell, offer for sale, import and otherwise run, modify and
-propagate the contents of its contributor version.
-
- In the following three paragraphs, a "patent license" is any express
-agreement or commitment, however denominated, not to enforce a patent
-(such as an express permission to practice a patent or covenant not to
-sue for patent infringement). To "grant" such a patent license to a
-party means to make such an agreement or commitment not to enforce a
-patent against the party.
-
- If you convey a covered work, knowingly relying on a patent license,
-and the Corresponding Source of the work is not available for anyone
-to copy, free of charge and under the terms of this License, through a
-publicly available network server or other readily accessible means,
-then you must either (1) cause the Corresponding Source to be so
-available, or (2) arrange to deprive yourself of the benefit of the
-patent license for this particular work, or (3) arrange, in a manner
-consistent with the requirements of this License, to extend the patent
-license to downstream recipients. "Knowingly relying" means you have
-actual knowledge that, but for the patent license, your conveying the
-covered work in a country, or your recipient's use of the covered work
-in a country, would infringe one or more identifiable patents in that
-country that you have reason to believe are valid.
-
- If, pursuant to or in connection with a single transaction or
-arrangement, you convey, or propagate by procuring conveyance of, a
-covered work, and grant a patent license to some of the parties
-receiving the covered work authorizing them to use, propagate, modify
-or convey a specific copy of the covered work, then the patent license
-you grant is automatically extended to all recipients of the covered
-work and works based on it.
-
- A patent license is "discriminatory" if it does not include within
-the scope of its coverage, prohibits the exercise of, or is
-conditioned on the non-exercise of one or more of the rights that are
-specifically granted under this License. You may not convey a covered
-work if you are a party to an arrangement with a third party that is
-in the business of distributing software, under which you make payment
-to the third party based on the extent of your activity of conveying
-the work, and under which the third party grants, to any of the
-parties who would receive the covered work from you, a discriminatory
-patent license (a) in connection with copies of the covered work
-conveyed by you (or copies made from those copies), or (b) primarily
-for and in connection with specific products or compilations that
-contain the covered work, unless you entered into that arrangement,
-or that patent license was granted, prior to 28 March 2007.
-
- Nothing in this License shall be construed as excluding or limiting
-any implied license or other defenses to infringement that may
-otherwise be available to you under applicable patent law.
-
- 12. No Surrender of Others' Freedom.
-
- If conditions are imposed on you (whether by court order, agreement or
-otherwise) that contradict the conditions of this License, they do not
-excuse you from the conditions of this License. If you cannot convey a
-covered work so as to satisfy simultaneously your obligations under this
-License and any other pertinent obligations, then as a consequence you may
-not convey it at all. For example, if you agree to terms that obligate you
-to collect a royalty for further conveying from those to whom you convey
-the Program, the only way you could satisfy both those terms and this
-License would be to refrain entirely from conveying the Program.
-
- 13. Use with the GNU Affero General Public License.
-
- Notwithstanding any other provision of this License, you have
-permission to link or combine any covered work with a work licensed
-under version 3 of the GNU Affero General Public License into a single
-combined work, and to convey the resulting work. The terms of this
-License will continue to apply to the part which is the covered work,
-but the special requirements of the GNU Affero General Public License,
-section 13, concerning interaction through a network will apply to the
-combination as such.
-
- 14. Revised Versions of this License.
-
- The Free Software Foundation may publish revised and/or new versions of
-the GNU General Public License from time to time. Such new versions will
-be similar in spirit to the present version, but may differ in detail to
-address new problems or concerns.
-
- Each version is given a distinguishing version number. If the
-Program specifies that a certain numbered version of the GNU General
-Public License "or any later version" applies to it, you have the
-option of following the terms and conditions either of that numbered
-version or of any later version published by the Free Software
-Foundation. If the Program does not specify a version number of the
-GNU General Public License, you may choose any version ever published
-by the Free Software Foundation.
-
- If the Program specifies that a proxy can decide which future
-versions of the GNU General Public License can be used, that proxy's
-public statement of acceptance of a version permanently authorizes you
-to choose that version for the Program.
-
- Later license versions may give you additional or different
-permissions. However, no additional obligations are imposed on any
-author or copyright holder as a result of your choosing to follow a
-later version.
-
- 15. Disclaimer of Warranty.
-
- THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY
-APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT
-HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY
-OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,
-THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
-PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM
-IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF
-ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
-
- 16. Limitation of Liability.
-
- IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
-WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS
-THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY
-GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE
-USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF
-DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD
-PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),
-EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF
-SUCH DAMAGES.
-
- 17. Interpretation of Sections 15 and 16.
-
- If the disclaimer of warranty and limitation of liability provided
-above cannot be given local legal effect according to their terms,
-reviewing courts shall apply local law that most closely approximates
-an absolute waiver of all civil liability in connection with the
-Program, unless a warranty or assumption of liability accompanies a
-copy of the Program in return for a fee.
-
- END OF TERMS AND CONDITIONS
-
- How to Apply These Terms to Your New Programs
-
- If you develop a new program, and you want it to be of the greatest
-possible use to the public, the best way to achieve this is to make it
-free software which everyone can redistribute and change under these terms.
-
- To do so, attach the following notices to the program. It is safest
-to attach them to the start of each source file to most effectively
-state the exclusion of warranty; and each file should have at least
-the "copyright" line and a pointer to where the full notice is found.
-
- <one line to give the program's name and a brief idea of what it does.>
- Copyright (C) <year> <name of author>
-
- This program is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation, either version 3 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program. If not, see <http://www.gnu.org/licenses/>.
-
-Also add information on how to contact you by electronic and paper mail.
-
- If the program does terminal interaction, make it output a short
-notice like this when it starts in an interactive mode:
-
- <program> Copyright (C) <year> <name of author>
- This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
- This is free software, and you are welcome to redistribute it
- under certain conditions; type `show c' for details.
-
-The hypothetical commands `show w' and `show c' should show the appropriate
-parts of the General Public License. Of course, your program's commands
-might be different; for a GUI interface, you would use an "about box".
-
- You should also get your employer (if you work as a programmer) or school,
-if any, to sign a "copyright disclaimer" for the program, if necessary.
-For more information on this, and how to apply and follow the GNU GPL, see
-<http://www.gnu.org/licenses/>.
-
- The GNU General Public License does not permit incorporating your program
-into proprietary programs. If your program is a subroutine library, you
-may consider it more useful to permit linking proprietary applications with
-the library. If this is what you want to do, use the GNU Lesser General
-Public License instead of this License. But first, please read
-<http://www.gnu.org/philosophy/why-not-lgpl.html>.
diff --git a/volk/ChangeLog b/volk/ChangeLog
deleted file mode 100644
index e69de29bb..000000000
--- a/volk/ChangeLog
+++ /dev/null
diff --git a/volk/INSTALL b/volk/INSTALL
deleted file mode 100644
index 23e5f25d0..000000000
--- a/volk/INSTALL
+++ /dev/null
@@ -1,236 +0,0 @@
-Installation Instructions
-*************************
-
-Copyright (C) 1994, 1995, 1996, 1999, 2000, 2001, 2002, 2004, 2005 Free
-Software Foundation, Inc.
-
-This file is free documentation; the Free Software Foundation gives
-unlimited permission to copy, distribute and modify it.
-
-Basic Installation
-==================
-
-These are generic installation instructions.
-
- The `configure' shell script attempts to guess correct values for
-various system-dependent variables used during compilation. It uses
-those values to create a `Makefile' in each directory of the package.
-It may also create one or more `.h' files containing system-dependent
-definitions. Finally, it creates a shell script `config.status' that
-you can run in the future to recreate the current configuration, and a
-file `config.log' containing compiler output (useful mainly for
-debugging `configure').
-
- It can also use an optional file (typically called `config.cache'
-and enabled with `--cache-file=config.cache' or simply `-C') that saves
-the results of its tests to speed up reconfiguring. (Caching is
-disabled by default to prevent problems with accidental use of stale
-cache files.)
-
- If you need to do unusual things to compile the package, please try
-to figure out how `configure' could check whether to do them, and mail
-diffs or instructions to the address given in the `README' so they can
-be considered for the next release. If you are using the cache, and at
-some point `config.cache' contains results you don't want to keep, you
-may remove or edit it.
-
- The file `configure.ac' (or `configure.in') is used to create
-`configure' by a program called `autoconf'. You only need
-`configure.ac' if you want to change it or regenerate `configure' using
-a newer version of `autoconf'.
-
-The simplest way to compile this package is:
-
- 1. `cd' to the directory containing the package's source code and type
- `./configure' to configure the package for your system. If you're
- using `csh' on an old version of System V, you might need to type
- `sh ./configure' instead to prevent `csh' from trying to execute
- `configure' itself.
-
- Running `configure' takes awhile. While running, it prints some
- messages telling which features it is checking for.
-
- 2. Type `make' to compile the package.
-
- 3. Optionally, type `make check' to run any self-tests that come with
- the package.
-
- 4. Type `make install' to install the programs and any data files and
- documentation.
-
- 5. You can remove the program binaries and object files from the
- source code directory by typing `make clean'. To also remove the
- files that `configure' created (so you can compile the package for
- a different kind of computer), type `make distclean'. There is
- also a `make maintainer-clean' target, but that is intended mainly
- for the package's developers. If you use it, you may have to get
- all sorts of other programs in order to regenerate files that came
- with the distribution.
-
-Compilers and Options
-=====================
-
-Some systems require unusual options for compilation or linking that the
-`configure' script does not know about. Run `./configure --help' for
-details on some of the pertinent environment variables.
-
- You can give `configure' initial values for configuration parameters
-by setting variables in the command line or in the environment. Here
-is an example:
-
- ./configure CC=c89 CFLAGS=-O2 LIBS=-lposix
-
- *Note Defining Variables::, for more details.
-
-Compiling For Multiple Architectures
-====================================
-
-You can compile the package for more than one kind of computer at the
-same time, by placing the object files for each architecture in their
-own directory. To do this, you must use a version of `make' that
-supports the `VPATH' variable, such as GNU `make'. `cd' to the
-directory where you want the object files and executables to go and run
-the `configure' script. `configure' automatically checks for the
-source code in the directory that `configure' is in and in `..'.
-
- If you have to use a `make' that does not support the `VPATH'
-variable, you have to compile the package for one architecture at a
-time in the source code directory. After you have installed the
-package for one architecture, use `make distclean' before reconfiguring
-for another architecture.
-
-Installation Names
-==================
-
-By default, `make install' installs the package's commands under
-`/usr/local/bin', include files under `/usr/local/include', etc. You
-can specify an installation prefix other than `/usr/local' by giving
-`configure' the option `--prefix=PREFIX'.
-
- You can specify separate installation prefixes for
-architecture-specific files and architecture-independent files. If you
-pass the option `--exec-prefix=PREFIX' to `configure', the package uses
-PREFIX as the prefix for installing programs and libraries.
-Documentation and other data files still use the regular prefix.
-
- In addition, if you use an unusual directory layout you can give
-options like `--bindir=DIR' to specify different values for particular
-kinds of files. Run `configure --help' for a list of the directories
-you can set and what kinds of files go in them.
-
- If the package supports it, you can cause programs to be installed
-with an extra prefix or suffix on their names by giving `configure' the
-option `--program-prefix=PREFIX' or `--program-suffix=SUFFIX'.
-
-Optional Features
-=================
-
-Some packages pay attention to `--enable-FEATURE' options to
-`configure', where FEATURE indicates an optional part of the package.
-They may also pay attention to `--with-PACKAGE' options, where PACKAGE
-is something like `gnu-as' or `x' (for the X Window System). The
-`README' should mention any `--enable-' and `--with-' options that the
-package recognizes.
-
- For packages that use the X Window System, `configure' can usually
-find the X include and library files automatically, but if it doesn't,
-you can use the `configure' options `--x-includes=DIR' and
-`--x-libraries=DIR' to specify their locations.
-
-Specifying the System Type
-==========================
-
-There may be some features `configure' cannot figure out automatically,
-but needs to determine by the type of machine the package will run on.
-Usually, assuming the package is built to be run on the _same_
-architectures, `configure' can figure that out, but if it prints a
-message saying it cannot guess the machine type, give it the
-`--build=TYPE' option. TYPE can either be a short name for the system
-type, such as `sun4', or a canonical name which has the form:
-
- CPU-COMPANY-SYSTEM
-
-where SYSTEM can have one of these forms:
-
- OS KERNEL-OS
-
- See the file `config.sub' for the possible values of each field. If
-`config.sub' isn't included in this package, then this package doesn't
-need to know the machine type.
-
- If you are _building_ compiler tools for cross-compiling, you should
-use the option `--target=TYPE' to select the type of system they will
-produce code for.
-
- If you want to _use_ a cross compiler, that generates code for a
-platform different from the build platform, you should specify the
-"host" platform (i.e., that on which the generated programs will
-eventually be run) with `--host=TYPE'.
-
-Sharing Defaults
-================
-
-If you want to set default values for `configure' scripts to share, you
-can create a site shell script called `config.site' that gives default
-values for variables like `CC', `cache_file', and `prefix'.
-`configure' looks for `PREFIX/share/config.site' if it exists, then
-`PREFIX/etc/config.site' if it exists. Or, you can set the
-`CONFIG_SITE' environment variable to the location of the site script.
-A warning: not all `configure' scripts look for a site script.
-
-Defining Variables
-==================
-
-Variables not defined in a site shell script can be set in the
-environment passed to `configure'. However, some packages may run
-configure again during the build, and the customized values of these
-variables may be lost. In order to avoid this problem, you should set
-them in the `configure' command line, using `VAR=value'. For example:
-
- ./configure CC=/usr/local2/bin/gcc
-
-causes the specified `gcc' to be used as the C compiler (unless it is
-overridden in the site shell script). Here is a another example:
-
- /bin/bash ./configure CONFIG_SHELL=/bin/bash
-
-Here the `CONFIG_SHELL=/bin/bash' operand causes subsequent
-configuration-related scripts to be executed by `/bin/bash'.
-
-`configure' Invocation
-======================
-
-`configure' recognizes the following options to control how it operates.
-
-`--help'
-`-h'
- Print a summary of the options to `configure', and exit.
-
-`--version'
-`-V'
- Print the version of Autoconf used to generate the `configure'
- script, and exit.
-
-`--cache-file=FILE'
- Enable the cache: use and save the results of the tests in FILE,
- traditionally `config.cache'. FILE defaults to `/dev/null' to
- disable caching.
-
-`--config-cache'
-`-C'
- Alias for `--cache-file=config.cache'.
-
-`--quiet'
-`--silent'
-`-q'
- Do not print messages saying which checks are being made. To
- suppress all normal output, redirect it to `/dev/null' (any error
- messages will still be shown).
-
-`--srcdir=DIR'
- Look for the package's source code in directory DIR. Usually
- `configure' can determine that directory automatically.
-
-`configure' also accepts some other, not widely useful, options. Run
-`configure --help' for more details.
-
diff --git a/volk/Makefile.am b/volk/Makefile.am
deleted file mode 100644
index 829c37b78..000000000
--- a/volk/Makefile.am
+++ /dev/null
@@ -1,65 +0,0 @@
-#
-# Copyright 2004,2008,2010 Free Software Foundation, Inc.
-#
-# This file is part of GNU Radio
-#
-# GNU Radio is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 3, or (at your option)
-# any later version.
-#
-# GNU Radio is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with GNU Radio; see the file COPYING. If not, write to
-# the Free Software Foundation, Inc., 51 Franklin Street,
-# Boston, MA 02110-1301, USA.
-#
-
-ACLOCAL_AMFLAGS = -I config
-
-include $(top_srcdir)/Makefile.common
-
-EXTRA_DIST = bootstrap configure config.h.in
-SUBDIRS = config
-if LV_HAVE_ORC
-SUBDIRS += orc
-endif
-SUBDIRS += include lib
-
-#if USE_PYTHON
-#SUBDIRS += python
-#endif
-
-pkgconfigdir = $(libdir)/pkgconfig
-pkgconfig_DATA = volk.pc
-
-distclean-local:
- -rm -rf autom4te.cache
- -rm -f config.*
- -rm -f depcomp
- -rm -f install-sh
- -rm -f ltmain.sh
- -rm -f py-compile
- -rm -f missing
- -rm -f volk_config.h.in
- -rm -f aclocal.m4
- -rm -f Makefile.in
- -rm -f config/lt*
- -rm -f config/libtool*
- -rm -f apps/Makefile.in
- -rm -f config/Makefile.in
- -rm -f data/Makefile.in
- -rm -f doc/Makefile.in
- -rm -f include/Makefile.in
- -rm -f lib/Makefile.in
- -rm -f python/Makefile.in
- -rm -f configure
- -rm -f orc/Makefile.in
- -rm -f orc/*.c
- -rm -rf gen/config
- -rm -rf gen/include
- -rm -rf gen/lib
diff --git a/volk/Makefile.common b/volk/Makefile.common
deleted file mode 100644
index b9949cb33..000000000
--- a/volk/Makefile.common
+++ /dev/null
@@ -1,51 +0,0 @@
-# -*- Makefile -*-
-#
-# Copyright 2010,2011 Free Software Foundation, Inc.
-#
-# This file is part of GNU Radio
-#
-# GNU Radio is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 3, or (at your option)
-# any later version.
-#
-# GNU Radio is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with GNU Radio; see the file COPYING. If not, write to
-# the Free Software Foundation, Inc., 51 Franklin Street,
-# Boston, MA 02110-1301, USA.
-#
-
-#define gendir for files generated during bootstrap
-top_gendir = $(top_srcdir)/gen
-
-ourincludedir = $(includedir)/volk
-
-# swig includes
-ourswigincludedir = $(ourincludedir)/swig
-
-# Install this stuff in the appropriate subdirectory
-# This usually ends up at:
-# ${prefix}/lib/python${python_version}/site-packages/libvolk
-
-ourpythondir = $(pythondir)/volk
-ourpyexecdir = $(pyexecdir)/volk
-
-
-# swig flags
-SWIGPYTHONFLAGS = -fvirtual -python -modern
-SWIGGRFLAGS = -I$(GNURADIO_CORE_INCLUDEDIR)/swig -I$(GNURADIO_CORE_INCLUDEDIR)
-
-# standard defins and includes
-STD_DEFINES_AND_INCLUDES=-I$(top_srcdir)/include -I$(top_srcdir)/lib \
- $(BOOST_CPPFLAGS) $(GNURADIO_CORE_CPPFLAGS)
-
-# Don't assume that make predefines $(RM), because BSD make does
-# not. We define it now in configure.ac using AM_PATH_PROG, but now
-# here have to add a -f to be like GNU make.
-RM=$(RM_PROG) -f
-
diff --git a/volk/NEWS b/volk/NEWS
deleted file mode 100644
index e69de29bb..000000000
--- a/volk/NEWS
+++ /dev/null
diff --git a/volk/README b/volk/README
deleted file mode 100644
index c21b99220..000000000
--- a/volk/README
+++ /dev/null
@@ -1 +0,0 @@
-Follow the install instructions. After ./configure, read LIBVECTOR_MANUAL. \ No newline at end of file
diff --git a/volk/apps/Makefile.am b/volk/apps/Makefile.am
deleted file mode 100644
index 5e9bc254f..000000000
--- a/volk/apps/Makefile.am
+++ /dev/null
@@ -1,27 +0,0 @@
-#
-# Copyright 2008 Free Software Foundation, Inc.
-#
-# This file is part of GNU Radio
-#
-# GNU Radio is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 3, or (at your option)
-# any later version.
-#
-# GNU Radio is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License along
-# with this program; if not, write to the Free Software Foundation, Inc.,
-# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
-#
-
-include $(top_srcdir)/Makefile.common
-
-# C++ stuff here
-
-if PYTHON
-# python stuff here
-endif
diff --git a/volk/apps/volk_profile.cc b/volk/apps/volk_profile.cc
index bd36d6dc7..76b9f4031 100644
--- a/volk/apps/volk_profile.cc
+++ b/volk/apps/volk_profile.cc
@@ -13,7 +13,7 @@ extern "C" {
int main(int argc, char *argv[]) {
std::vector<std::string> results;
-
+
//VOLK_PROFILE(volk_16i_x5_add_quad_16i_x4_a, 1e-4, 2046, 10000, &results);
//VOLK_PROFILE(volk_16i_branch_4_state_8_a, 1e-4, 2046, 10000, &results);
VOLK_PROFILE(volk_16ic_s32f_deinterleave_real_32f_a, 1e-5, 32768.0, 204600, 10000, &results);
@@ -143,7 +143,7 @@ int main(int argc, char *argv[]) {
#this file is generated by volk_profile.\n\
#the function name is followed by the preferred architecture.\n\
";
-
+
BOOST_FOREACH(std::string result, results) {
config << result << std::endl;
}
diff --git a/volk/bootstrap b/volk/bootstrap
deleted file mode 100755
index 838f03aa2..000000000
--- a/volk/bootstrap
+++ /dev/null
@@ -1,35 +0,0 @@
-#!/bin/sh
-
-# Copyright 2001,2005,2008 Free Software Foundation, Inc.
-#
-# This file is part of GNU Radio
-#
-# GNU Radio is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 3, or (at your option)
-# any later version.
-#
-# GNU Radio is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with GNU Radio; see the file COPYING. If not, write to
-# the Free Software Foundation, Inc., 51 Franklin Street,
-# Boston, MA 02110-1301, USA.
-rm -fr config.cache autom4te*.cache
-
-#alternative to -B that wont break on python 2.5
-PYTHONDONTWRITEBYTECODE=1
-export PYTHONDONTWRITEBYTECODE
-python gen/volk_register.py
-
-mv gen/lib/Makefile.am lib/
-
-aclocal -I config -I gen/config
-autoconf
-autoheader
-libtoolize --automake
-automake --add-missing -Wno-portability -Wno-override -Wnone
-
diff --git a/volk/cmake/FindORC.cmake b/volk/cmake/FindORC.cmake
index 1c4c417ad..a5f35c465 100644
--- a/volk/cmake/FindORC.cmake
+++ b/volk/cmake/FindORC.cmake
@@ -8,16 +8,16 @@ FIND_PROGRAM(ORCC_EXECUTABLE orcc
HINTS ${PC_ORC_TOOLSDIR}
PATHS ${ORC_ROOT}/bin ${CMAKE_INSTALL_PREFIX}/bin)
-FIND_PATH(ORC_INCLUDE_DIR NAMES orc/orc.h
+FIND_PATH(ORC_INCLUDE_DIR NAMES orc/orc.h
HINTS ${PC_ORC_INCLUDEDIR}
PATHS ${ORC_ROOT}/include/orc-0.4 ${CMAKE_INSTALL_PREFIX}/include/orc-0.4)
-FIND_PATH(ORC_LIBRARY_DIR NAMES ${CMAKE_SHARED_LIBRARY_PREFIX}orc-0.4${CMAKE_SHARED_LIBRARY_SUFFIX}
+FIND_PATH(ORC_LIBRARY_DIR NAMES ${CMAKE_SHARED_LIBRARY_PREFIX}orc-0.4${CMAKE_SHARED_LIBRARY_SUFFIX}
HINTS ${PC_ORC_LIBDIR}
PATHS ${ORC_ROOT}/lib${LIB_SUFFIX} ${CMAKE_INSTALL_PREFIX}/lib${LIB_SUFFIX})
-FIND_LIBRARY(ORC_LIB orc-0.4
+FIND_LIBRARY(ORC_LIB orc-0.4
HINTS ${PC_ORC_LIBRARY_DIRS}
PATHS ${ORC_ROOT}/lib${LIB_SUFFIX} ${CMAKE_INSTALL_PREFIX}/lib${LIB_SUFFIX})
diff --git a/volk/config.guess b/volk/config.guess
deleted file mode 100644
index b02565c7b..000000000
--- a/volk/config.guess
+++ /dev/null
@@ -1,1517 +0,0 @@
-#! /bin/sh
-# Attempt to guess a canonical system name.
-# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
-# 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010,
-# 2011 Free Software Foundation, Inc.
-
-timestamp='2011-06-03'
-
-# This file is free software; you can redistribute it and/or modify it
-# under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful, but
-# WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-# General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA
-# 02110-1301, USA.
-#
-# As a special exception to the GNU General Public License, if you
-# distribute this file as part of a program that contains a
-# configuration script generated by Autoconf, you may include it under
-# the same distribution terms that you use for the rest of that program.
-
-
-# Originally written by Per Bothner. Please send patches (context
-# diff format) to <config-patches@gnu.org> and include a ChangeLog
-# entry.
-#
-# This script attempts to guess a canonical system name similar to
-# config.sub. If it succeeds, it prints the system name on stdout, and
-# exits with 0. Otherwise, it exits with 1.
-#
-# You can get the latest version of this script from:
-# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD
-
-me=`echo "$0" | sed -e 's,.*/,,'`
-
-usage="\
-Usage: $0 [OPTION]
-
-Output the configuration name of the system \`$me' is run on.
-
-Operation modes:
- -h, --help print this help, then exit
- -t, --time-stamp print date of last modification, then exit
- -v, --version print version number, then exit
-
-Report bugs and patches to <config-patches@gnu.org>."
-
-version="\
-GNU config.guess ($timestamp)
-
-Originally written by Per Bothner.
-Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000,
-2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free
-Software Foundation, Inc.
-
-This is free software; see the source for copying conditions. There is NO
-warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
-
-help="
-Try \`$me --help' for more information."
-
-# Parse command line
-while test $# -gt 0 ; do
- case $1 in
- --time-stamp | --time* | -t )
- echo "$timestamp" ; exit ;;
- --version | -v )
- echo "$version" ; exit ;;
- --help | --h* | -h )
- echo "$usage"; exit ;;
- -- ) # Stop option processing
- shift; break ;;
- - ) # Use stdin as input.
- break ;;
- -* )
- echo "$me: invalid option $1$help" >&2
- exit 1 ;;
- * )
- break ;;
- esac
-done
-
-if test $# != 0; then
- echo "$me: too many arguments$help" >&2
- exit 1
-fi
-
-trap 'exit 1' 1 2 15
-
-# CC_FOR_BUILD -- compiler used by this script. Note that the use of a
-# compiler to aid in system detection is discouraged as it requires
-# temporary files to be created and, as you can see below, it is a
-# headache to deal with in a portable fashion.
-
-# Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still
-# use `HOST_CC' if defined, but it is deprecated.
-
-# Portable tmp directory creation inspired by the Autoconf team.
-
-set_cc_for_build='
-trap "exitcode=\$?; (rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null) && exit \$exitcode" 0 ;
-trap "rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null; exit 1" 1 2 13 15 ;
-: ${TMPDIR=/tmp} ;
- { tmp=`(umask 077 && mktemp -d "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } ||
- { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir $tmp) ; } ||
- { tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir $tmp) && echo "Warning: creating insecure temp directory" >&2 ; } ||
- { echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } ;
-dummy=$tmp/dummy ;
-tmpfiles="$dummy.c $dummy.o $dummy.rel $dummy" ;
-case $CC_FOR_BUILD,$HOST_CC,$CC in
- ,,) echo "int x;" > $dummy.c ;
- for c in cc gcc c89 c99 ; do
- if ($c -c -o $dummy.o $dummy.c) >/dev/null 2>&1 ; then
- CC_FOR_BUILD="$c"; break ;
- fi ;
- done ;
- if test x"$CC_FOR_BUILD" = x ; then
- CC_FOR_BUILD=no_compiler_found ;
- fi
- ;;
- ,,*) CC_FOR_BUILD=$CC ;;
- ,*,*) CC_FOR_BUILD=$HOST_CC ;;
-esac ; set_cc_for_build= ;'
-
-# This is needed to find uname on a Pyramid OSx when run in the BSD universe.
-# (ghazi@noc.rutgers.edu 1994-08-24)
-if (test -f /.attbin/uname) >/dev/null 2>&1 ; then
- PATH=$PATH:/.attbin ; export PATH
-fi
-
-UNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown
-UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown
-UNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown
-UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown
-
-# Note: order is significant - the case branches are not exclusive.
-
-case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
- *:NetBSD:*:*)
- # NetBSD (nbsd) targets should (where applicable) match one or
- # more of the tupples: *-*-netbsdelf*, *-*-netbsdaout*,
- # *-*-netbsdecoff* and *-*-netbsd*. For targets that recently
- # switched to ELF, *-*-netbsd* would select the old
- # object file format. This provides both forward
- # compatibility and a consistent mechanism for selecting the
- # object file format.
- #
- # Note: NetBSD doesn't particularly care about the vendor
- # portion of the name. We always set it to "unknown".
- sysctl="sysctl -n hw.machine_arch"
- UNAME_MACHINE_ARCH=`(/sbin/$sysctl 2>/dev/null || \
- /usr/sbin/$sysctl 2>/dev/null || echo unknown)`
- case "${UNAME_MACHINE_ARCH}" in
- armeb) machine=armeb-unknown ;;
- arm*) machine=arm-unknown ;;
- sh3el) machine=shl-unknown ;;
- sh3eb) machine=sh-unknown ;;
- sh5el) machine=sh5le-unknown ;;
- *) machine=${UNAME_MACHINE_ARCH}-unknown ;;
- esac
- # The Operating System including object format, if it has switched
- # to ELF recently, or will in the future.
- case "${UNAME_MACHINE_ARCH}" in
- arm*|i386|m68k|ns32k|sh3*|sparc|vax)
- eval $set_cc_for_build
- if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \
- | grep -q __ELF__
- then
- # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout).
- # Return netbsd for either. FIX?
- os=netbsd
- else
- os=netbsdelf
- fi
- ;;
- *)
- os=netbsd
- ;;
- esac
- # The OS release
- # Debian GNU/NetBSD machines have a different userland, and
- # thus, need a distinct triplet. However, they do not need
- # kernel version information, so it can be replaced with a
- # suitable tag, in the style of linux-gnu.
- case "${UNAME_VERSION}" in
- Debian*)
- release='-gnu'
- ;;
- *)
- release=`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'`
- ;;
- esac
- # Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM:
- # contains redundant information, the shorter form:
- # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used.
- echo "${machine}-${os}${release}"
- exit ;;
- *:OpenBSD:*:*)
- UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'`
- echo ${UNAME_MACHINE_ARCH}-unknown-openbsd${UNAME_RELEASE}
- exit ;;
- *:ekkoBSD:*:*)
- echo ${UNAME_MACHINE}-unknown-ekkobsd${UNAME_RELEASE}
- exit ;;
- *:SolidBSD:*:*)
- echo ${UNAME_MACHINE}-unknown-solidbsd${UNAME_RELEASE}
- exit ;;
- macppc:MirBSD:*:*)
- echo powerpc-unknown-mirbsd${UNAME_RELEASE}
- exit ;;
- *:MirBSD:*:*)
- echo ${UNAME_MACHINE}-unknown-mirbsd${UNAME_RELEASE}
- exit ;;
- alpha:OSF1:*:*)
- case $UNAME_RELEASE in
- *4.0)
- UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'`
- ;;
- *5.*)
- UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'`
- ;;
- esac
- # According to Compaq, /usr/sbin/psrinfo has been available on
- # OSF/1 and Tru64 systems produced since 1995. I hope that
- # covers most systems running today. This code pipes the CPU
- # types through head -n 1, so we only detect the type of CPU 0.
- ALPHA_CPU_TYPE=`/usr/sbin/psrinfo -v | sed -n -e 's/^ The alpha \(.*\) processor.*$/\1/p' | head -n 1`
- case "$ALPHA_CPU_TYPE" in
- "EV4 (21064)")
- UNAME_MACHINE="alpha" ;;
- "EV4.5 (21064)")
- UNAME_MACHINE="alpha" ;;
- "LCA4 (21066/21068)")
- UNAME_MACHINE="alpha" ;;
- "EV5 (21164)")
- UNAME_MACHINE="alphaev5" ;;
- "EV5.6 (21164A)")
- UNAME_MACHINE="alphaev56" ;;
- "EV5.6 (21164PC)")
- UNAME_MACHINE="alphapca56" ;;
- "EV5.7 (21164PC)")
- UNAME_MACHINE="alphapca57" ;;
- "EV6 (21264)")
- UNAME_MACHINE="alphaev6" ;;
- "EV6.7 (21264A)")
- UNAME_MACHINE="alphaev67" ;;
- "EV6.8CB (21264C)")
- UNAME_MACHINE="alphaev68" ;;
- "EV6.8AL (21264B)")
- UNAME_MACHINE="alphaev68" ;;
- "EV6.8CX (21264D)")
- UNAME_MACHINE="alphaev68" ;;
- "EV6.9A (21264/EV69A)")
- UNAME_MACHINE="alphaev69" ;;
- "EV7 (21364)")
- UNAME_MACHINE="alphaev7" ;;
- "EV7.9 (21364A)")
- UNAME_MACHINE="alphaev79" ;;
- esac
- # A Pn.n version is a patched version.
- # A Vn.n version is a released version.
- # A Tn.n version is a released field test version.
- # A Xn.n version is an unreleased experimental baselevel.
- # 1.2 uses "1.2" for uname -r.
- echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[PVTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
- # Reset EXIT trap before exiting to avoid spurious non-zero exit code.
- exitcode=$?
- trap '' 0
- exit $exitcode ;;
- Alpha\ *:Windows_NT*:*)
- # How do we know it's Interix rather than the generic POSIX subsystem?
- # Should we change UNAME_MACHINE based on the output of uname instead
- # of the specific Alpha model?
- echo alpha-pc-interix
- exit ;;
- 21064:Windows_NT:50:3)
- echo alpha-dec-winnt3.5
- exit ;;
- Amiga*:UNIX_System_V:4.0:*)
- echo m68k-unknown-sysv4
- exit ;;
- *:[Aa]miga[Oo][Ss]:*:*)
- echo ${UNAME_MACHINE}-unknown-amigaos
- exit ;;
- *:[Mm]orph[Oo][Ss]:*:*)
- echo ${UNAME_MACHINE}-unknown-morphos
- exit ;;
- *:OS/390:*:*)
- echo i370-ibm-openedition
- exit ;;
- *:z/VM:*:*)
- echo s390-ibm-zvmoe
- exit ;;
- *:OS400:*:*)
- echo powerpc-ibm-os400
- exit ;;
- arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*)
- echo arm-acorn-riscix${UNAME_RELEASE}
- exit ;;
- arm:riscos:*:*|arm:RISCOS:*:*)
- echo arm-unknown-riscos
- exit ;;
- SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*)
- echo hppa1.1-hitachi-hiuxmpp
- exit ;;
- Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*)
- # akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE.
- if test "`(/bin/universe) 2>/dev/null`" = att ; then
- echo pyramid-pyramid-sysv3
- else
- echo pyramid-pyramid-bsd
- fi
- exit ;;
- NILE*:*:*:dcosx)
- echo pyramid-pyramid-svr4
- exit ;;
- DRS?6000:unix:4.0:6*)
- echo sparc-icl-nx6
- exit ;;
- DRS?6000:UNIX_SV:4.2*:7* | DRS?6000:isis:4.2*:7*)
- case `/usr/bin/uname -p` in
- sparc) echo sparc-icl-nx7; exit ;;
- esac ;;
- s390x:SunOS:*:*)
- echo ${UNAME_MACHINE}-ibm-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
- exit ;;
- sun4H:SunOS:5.*:*)
- echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
- exit ;;
- sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*)
- echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
- exit ;;
- i86pc:AuroraUX:5.*:* | i86xen:AuroraUX:5.*:*)
- echo i386-pc-auroraux${UNAME_RELEASE}
- exit ;;
- i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*)
- eval $set_cc_for_build
- SUN_ARCH="i386"
- # If there is a compiler, see if it is configured for 64-bit objects.
- # Note that the Sun cc does not turn __LP64__ into 1 like gcc does.
- # This test works for both compilers.
- if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then
- if (echo '#ifdef __amd64'; echo IS_64BIT_ARCH; echo '#endif') | \
- (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \
- grep IS_64BIT_ARCH >/dev/null
- then
- SUN_ARCH="x86_64"
- fi
- fi
- echo ${SUN_ARCH}-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
- exit ;;
- sun4*:SunOS:6*:*)
- # According to config.sub, this is the proper way to canonicalize
- # SunOS6. Hard to guess exactly what SunOS6 will be like, but
- # it's likely to be more like Solaris than SunOS4.
- echo sparc-sun-solaris3`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
- exit ;;
- sun4*:SunOS:*:*)
- case "`/usr/bin/arch -k`" in
- Series*|S4*)
- UNAME_RELEASE=`uname -v`
- ;;
- esac
- # Japanese Language versions have a version number like `4.1.3-JL'.
- echo sparc-sun-sunos`echo ${UNAME_RELEASE}|sed -e 's/-/_/'`
- exit ;;
- sun3*:SunOS:*:*)
- echo m68k-sun-sunos${UNAME_RELEASE}
- exit ;;
- sun*:*:4.2BSD:*)
- UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null`
- test "x${UNAME_RELEASE}" = "x" && UNAME_RELEASE=3
- case "`/bin/arch`" in
- sun3)
- echo m68k-sun-sunos${UNAME_RELEASE}
- ;;
- sun4)
- echo sparc-sun-sunos${UNAME_RELEASE}
- ;;
- esac
- exit ;;
- aushp:SunOS:*:*)
- echo sparc-auspex-sunos${UNAME_RELEASE}
- exit ;;
- # The situation for MiNT is a little confusing. The machine name
- # can be virtually everything (everything which is not
- # "atarist" or "atariste" at least should have a processor
- # > m68000). The system name ranges from "MiNT" over "FreeMiNT"
- # to the lowercase version "mint" (or "freemint"). Finally
- # the system name "TOS" denotes a system which is actually not
- # MiNT. But MiNT is downward compatible to TOS, so this should
- # be no problem.
- atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*)
- echo m68k-atari-mint${UNAME_RELEASE}
- exit ;;
- atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*)
- echo m68k-atari-mint${UNAME_RELEASE}
- exit ;;
- *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*)
- echo m68k-atari-mint${UNAME_RELEASE}
- exit ;;
- milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*)
- echo m68k-milan-mint${UNAME_RELEASE}
- exit ;;
- hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*)
- echo m68k-hades-mint${UNAME_RELEASE}
- exit ;;
- *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*)
- echo m68k-unknown-mint${UNAME_RELEASE}
- exit ;;
- m68k:machten:*:*)
- echo m68k-apple-machten${UNAME_RELEASE}
- exit ;;
- powerpc:machten:*:*)
- echo powerpc-apple-machten${UNAME_RELEASE}
- exit ;;
- RISC*:Mach:*:*)
- echo mips-dec-mach_bsd4.3
- exit ;;
- RISC*:ULTRIX:*:*)
- echo mips-dec-ultrix${UNAME_RELEASE}
- exit ;;
- VAX*:ULTRIX*:*:*)
- echo vax-dec-ultrix${UNAME_RELEASE}
- exit ;;
- 2020:CLIX:*:* | 2430:CLIX:*:*)
- echo clipper-intergraph-clix${UNAME_RELEASE}
- exit ;;
- mips:*:*:UMIPS | mips:*:*:RISCos)
- eval $set_cc_for_build
- sed 's/^ //' << EOF >$dummy.c
-#ifdef __cplusplus
-#include <stdio.h> /* for printf() prototype */
- int main (int argc, char *argv[]) {
-#else
- int main (argc, argv) int argc; char *argv[]; {
-#endif
- #if defined (host_mips) && defined (MIPSEB)
- #if defined (SYSTYPE_SYSV)
- printf ("mips-mips-riscos%ssysv\n", argv[1]); exit (0);
- #endif
- #if defined (SYSTYPE_SVR4)
- printf ("mips-mips-riscos%ssvr4\n", argv[1]); exit (0);
- #endif
- #if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD)
- printf ("mips-mips-riscos%sbsd\n", argv[1]); exit (0);
- #endif
- #endif
- exit (-1);
- }
-EOF
- $CC_FOR_BUILD -o $dummy $dummy.c &&
- dummyarg=`echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` &&
- SYSTEM_NAME=`$dummy $dummyarg` &&
- { echo "$SYSTEM_NAME"; exit; }
- echo mips-mips-riscos${UNAME_RELEASE}
- exit ;;
- Motorola:PowerMAX_OS:*:*)
- echo powerpc-motorola-powermax
- exit ;;
- Motorola:*:4.3:PL8-*)
- echo powerpc-harris-powermax
- exit ;;
- Night_Hawk:*:*:PowerMAX_OS | Synergy:PowerMAX_OS:*:*)
- echo powerpc-harris-powermax
- exit ;;
- Night_Hawk:Power_UNIX:*:*)
- echo powerpc-harris-powerunix
- exit ;;
- m88k:CX/UX:7*:*)
- echo m88k-harris-cxux7
- exit ;;
- m88k:*:4*:R4*)
- echo m88k-motorola-sysv4
- exit ;;
- m88k:*:3*:R3*)
- echo m88k-motorola-sysv3
- exit ;;
- AViiON:dgux:*:*)
- # DG/UX returns AViiON for all architectures
- UNAME_PROCESSOR=`/usr/bin/uname -p`
- if [ $UNAME_PROCESSOR = mc88100 ] || [ $UNAME_PROCESSOR = mc88110 ]
- then
- if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx ] || \
- [ ${TARGET_BINARY_INTERFACE}x = x ]
- then
- echo m88k-dg-dgux${UNAME_RELEASE}
- else
- echo m88k-dg-dguxbcs${UNAME_RELEASE}
- fi
- else
- echo i586-dg-dgux${UNAME_RELEASE}
- fi
- exit ;;
- M88*:DolphinOS:*:*) # DolphinOS (SVR3)
- echo m88k-dolphin-sysv3
- exit ;;
- M88*:*:R3*:*)
- # Delta 88k system running SVR3
- echo m88k-motorola-sysv3
- exit ;;
- XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3)
- echo m88k-tektronix-sysv3
- exit ;;
- Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD)
- echo m68k-tektronix-bsd
- exit ;;
- *:IRIX*:*:*)
- echo mips-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'`
- exit ;;
- ????????:AIX?:[12].1:2) # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX.
- echo romp-ibm-aix # uname -m gives an 8 hex-code CPU id
- exit ;; # Note that: echo "'`uname -s`'" gives 'AIX '
- i*86:AIX:*:*)
- echo i386-ibm-aix
- exit ;;
- ia64:AIX:*:*)
- if [ -x /usr/bin/oslevel ] ; then
- IBM_REV=`/usr/bin/oslevel`
- else
- IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
- fi
- echo ${UNAME_MACHINE}-ibm-aix${IBM_REV}
- exit ;;
- *:AIX:2:3)
- if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then
- eval $set_cc_for_build
- sed 's/^ //' << EOF >$dummy.c
- #include <sys/systemcfg.h>
-
- main()
- {
- if (!__power_pc())
- exit(1);
- puts("powerpc-ibm-aix3.2.5");
- exit(0);
- }
-EOF
- if $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy`
- then
- echo "$SYSTEM_NAME"
- else
- echo rs6000-ibm-aix3.2.5
- fi
- elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then
- echo rs6000-ibm-aix3.2.4
- else
- echo rs6000-ibm-aix3.2
- fi
- exit ;;
- *:AIX:*:[4567])
- IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'`
- if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then
- IBM_ARCH=rs6000
- else
- IBM_ARCH=powerpc
- fi
- if [ -x /usr/bin/oslevel ] ; then
- IBM_REV=`/usr/bin/oslevel`
- else
- IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
- fi
- echo ${IBM_ARCH}-ibm-aix${IBM_REV}
- exit ;;
- *:AIX:*:*)
- echo rs6000-ibm-aix
- exit ;;
- ibmrt:4.4BSD:*|romp-ibm:BSD:*)
- echo romp-ibm-bsd4.4
- exit ;;
- ibmrt:*BSD:*|romp-ibm:BSD:*) # covers RT/PC BSD and
- echo romp-ibm-bsd${UNAME_RELEASE} # 4.3 with uname added to
- exit ;; # report: romp-ibm BSD 4.3
- *:BOSX:*:*)
- echo rs6000-bull-bosx
- exit ;;
- DPX/2?00:B.O.S.:*:*)
- echo m68k-bull-sysv3
- exit ;;
- 9000/[34]??:4.3bsd:1.*:*)
- echo m68k-hp-bsd
- exit ;;
- hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*)
- echo m68k-hp-bsd4.4
- exit ;;
- 9000/[34678]??:HP-UX:*:*)
- HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
- case "${UNAME_MACHINE}" in
- 9000/31? ) HP_ARCH=m68000 ;;
- 9000/[34]?? ) HP_ARCH=m68k ;;
- 9000/[678][0-9][0-9])
- if [ -x /usr/bin/getconf ]; then
- sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null`
- sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null`
- case "${sc_cpu_version}" in
- 523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0
- 528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1
- 532) # CPU_PA_RISC2_0
- case "${sc_kernel_bits}" in
- 32) HP_ARCH="hppa2.0n" ;;
- 64) HP_ARCH="hppa2.0w" ;;
- '') HP_ARCH="hppa2.0" ;; # HP-UX 10.20
- esac ;;
- esac
- fi
- if [ "${HP_ARCH}" = "" ]; then
- eval $set_cc_for_build
- sed 's/^ //' << EOF >$dummy.c
-
- #define _HPUX_SOURCE
- #include <stdlib.h>
- #include <unistd.h>
-
- int main ()
- {
- #if defined(_SC_KERNEL_BITS)
- long bits = sysconf(_SC_KERNEL_BITS);
- #endif
- long cpu = sysconf (_SC_CPU_VERSION);
-
- switch (cpu)
- {
- case CPU_PA_RISC1_0: puts ("hppa1.0"); break;
- case CPU_PA_RISC1_1: puts ("hppa1.1"); break;
- case CPU_PA_RISC2_0:
- #if defined(_SC_KERNEL_BITS)
- switch (bits)
- {
- case 64: puts ("hppa2.0w"); break;
- case 32: puts ("hppa2.0n"); break;
- default: puts ("hppa2.0"); break;
- } break;
- #else /* !defined(_SC_KERNEL_BITS) */
- puts ("hppa2.0"); break;
- #endif
- default: puts ("hppa1.0"); break;
- }
- exit (0);
- }
-EOF
- (CCOPTS= $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null) && HP_ARCH=`$dummy`
- test -z "$HP_ARCH" && HP_ARCH=hppa
- fi ;;
- esac
- if [ ${HP_ARCH} = "hppa2.0w" ]
- then
- eval $set_cc_for_build
-
- # hppa2.0w-hp-hpux* has a 64-bit kernel and a compiler generating
- # 32-bit code. hppa64-hp-hpux* has the same kernel and a compiler
- # generating 64-bit code. GNU and HP use different nomenclature:
- #
- # $ CC_FOR_BUILD=cc ./config.guess
- # => hppa2.0w-hp-hpux11.23
- # $ CC_FOR_BUILD="cc +DA2.0w" ./config.guess
- # => hppa64-hp-hpux11.23
-
- if echo __LP64__ | (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) |
- grep -q __LP64__
- then
- HP_ARCH="hppa2.0w"
- else
- HP_ARCH="hppa64"
- fi
- fi
- echo ${HP_ARCH}-hp-hpux${HPUX_REV}
- exit ;;
- ia64:HP-UX:*:*)
- HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
- echo ia64-hp-hpux${HPUX_REV}
- exit ;;
- 3050*:HI-UX:*:*)
- eval $set_cc_for_build
- sed 's/^ //' << EOF >$dummy.c
- #include <unistd.h>
- int
- main ()
- {
- long cpu = sysconf (_SC_CPU_VERSION);
- /* The order matters, because CPU_IS_HP_MC68K erroneously returns
- true for CPU_PA_RISC1_0. CPU_IS_PA_RISC returns correct
- results, however. */
- if (CPU_IS_PA_RISC (cpu))
- {
- switch (cpu)
- {
- case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break;
- case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break;
- case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break;
- default: puts ("hppa-hitachi-hiuxwe2"); break;
- }
- }
- else if (CPU_IS_HP_MC68K (cpu))
- puts ("m68k-hitachi-hiuxwe2");
- else puts ("unknown-hitachi-hiuxwe2");
- exit (0);
- }
-EOF
- $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy` &&
- { echo "$SYSTEM_NAME"; exit; }
- echo unknown-hitachi-hiuxwe2
- exit ;;
- 9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* )
- echo hppa1.1-hp-bsd
- exit ;;
- 9000/8??:4.3bsd:*:*)
- echo hppa1.0-hp-bsd
- exit ;;
- *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*)
- echo hppa1.0-hp-mpeix
- exit ;;
- hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* )
- echo hppa1.1-hp-osf
- exit ;;
- hp8??:OSF1:*:*)
- echo hppa1.0-hp-osf
- exit ;;
- i*86:OSF1:*:*)
- if [ -x /usr/sbin/sysversion ] ; then
- echo ${UNAME_MACHINE}-unknown-osf1mk
- else
- echo ${UNAME_MACHINE}-unknown-osf1
- fi
- exit ;;
- parisc*:Lites*:*:*)
- echo hppa1.1-hp-lites
- exit ;;
- C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*)
- echo c1-convex-bsd
- exit ;;
- C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*)
- if getsysinfo -f scalar_acc
- then echo c32-convex-bsd
- else echo c2-convex-bsd
- fi
- exit ;;
- C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*)
- echo c34-convex-bsd
- exit ;;
- C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*)
- echo c38-convex-bsd
- exit ;;
- C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*)
- echo c4-convex-bsd
- exit ;;
- CRAY*Y-MP:*:*:*)
- echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
- exit ;;
- CRAY*[A-Z]90:*:*:*)
- echo ${UNAME_MACHINE}-cray-unicos${UNAME_RELEASE} \
- | sed -e 's/CRAY.*\([A-Z]90\)/\1/' \
- -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \
- -e 's/\.[^.]*$/.X/'
- exit ;;
- CRAY*TS:*:*:*)
- echo t90-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
- exit ;;
- CRAY*T3E:*:*:*)
- echo alphaev5-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
- exit ;;
- CRAY*SV1:*:*:*)
- echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
- exit ;;
- *:UNICOS/mp:*:*)
- echo craynv-cray-unicosmp${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
- exit ;;
- F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*)
- FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
- FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
- FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'`
- echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
- exit ;;
- 5000:UNIX_System_V:4.*:*)
- FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
- FUJITSU_REL=`echo ${UNAME_RELEASE} | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/ /_/'`
- echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
- exit ;;
- i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*)
- echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE}
- exit ;;
- sparc*:BSD/OS:*:*)
- echo sparc-unknown-bsdi${UNAME_RELEASE}
- exit ;;
- *:BSD/OS:*:*)
- echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE}
- exit ;;
- *:FreeBSD:*:*)
- case ${UNAME_MACHINE} in
- pc98)
- echo i386-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
- amd64)
- echo x86_64-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
- *)
- echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
- esac
- exit ;;
- i*:CYGWIN*:*)
- echo ${UNAME_MACHINE}-pc-cygwin
- exit ;;
- *:MINGW*:*)
- echo ${UNAME_MACHINE}-pc-mingw32
- exit ;;
- i*:windows32*:*)
- # uname -m includes "-pc" on this system.
- echo ${UNAME_MACHINE}-mingw32
- exit ;;
- i*:PW*:*)
- echo ${UNAME_MACHINE}-pc-pw32
- exit ;;
- *:Interix*:*)
- case ${UNAME_MACHINE} in
- x86)
- echo i586-pc-interix${UNAME_RELEASE}
- exit ;;
- authenticamd | genuineintel | EM64T)
- echo x86_64-unknown-interix${UNAME_RELEASE}
- exit ;;
- IA64)
- echo ia64-unknown-interix${UNAME_RELEASE}
- exit ;;
- esac ;;
- [345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*)
- echo i${UNAME_MACHINE}-pc-mks
- exit ;;
- 8664:Windows_NT:*)
- echo x86_64-pc-mks
- exit ;;
- i*:Windows_NT*:* | Pentium*:Windows_NT*:*)
- # How do we know it's Interix rather than the generic POSIX subsystem?
- # It also conflicts with pre-2.0 versions of AT&T UWIN. Should we
- # UNAME_MACHINE based on the output of uname instead of i386?
- echo i586-pc-interix
- exit ;;
- i*:UWIN*:*)
- echo ${UNAME_MACHINE}-pc-uwin
- exit ;;
- amd64:CYGWIN*:*:* | x86_64:CYGWIN*:*:*)
- echo x86_64-unknown-cygwin
- exit ;;
- p*:CYGWIN*:*)
- echo powerpcle-unknown-cygwin
- exit ;;
- prep*:SunOS:5.*:*)
- echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
- exit ;;
- *:GNU:*:*)
- # the GNU system
- echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'`
- exit ;;
- *:GNU/*:*:*)
- # other systems with GNU libc and userland
- echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr '[A-Z]' '[a-z]'``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-gnu
- exit ;;
- i*86:Minix:*:*)
- echo ${UNAME_MACHINE}-pc-minix
- exit ;;
- alpha:Linux:*:*)
- case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in
- EV5) UNAME_MACHINE=alphaev5 ;;
- EV56) UNAME_MACHINE=alphaev56 ;;
- PCA56) UNAME_MACHINE=alphapca56 ;;
- PCA57) UNAME_MACHINE=alphapca56 ;;
- EV6) UNAME_MACHINE=alphaev6 ;;
- EV67) UNAME_MACHINE=alphaev67 ;;
- EV68*) UNAME_MACHINE=alphaev68 ;;
- esac
- objdump --private-headers /bin/sh | grep -q ld.so.1
- if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi
- echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC}
- exit ;;
- arm*:Linux:*:*)
- eval $set_cc_for_build
- if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \
- | grep -q __ARM_EABI__
- then
- echo ${UNAME_MACHINE}-unknown-linux-gnu
- else
- if echo __ARM_PCS_VFP | $CC_FOR_BUILD -E - 2>/dev/null \
- | grep -q __ARM_PCS_VFP
- then
- echo ${UNAME_MACHINE}-unknown-linux-gnueabi
- else
- echo ${UNAME_MACHINE}-unknown-linux-gnueabihf
- fi
- fi
- exit ;;
- avr32*:Linux:*:*)
- echo ${UNAME_MACHINE}-unknown-linux-gnu
- exit ;;
- cris:Linux:*:*)
- echo cris-axis-linux-gnu
- exit ;;
- crisv32:Linux:*:*)
- echo crisv32-axis-linux-gnu
- exit ;;
- frv:Linux:*:*)
- echo frv-unknown-linux-gnu
- exit ;;
- i*86:Linux:*:*)
- LIBC=gnu
- eval $set_cc_for_build
- sed 's/^ //' << EOF >$dummy.c
- #ifdef __dietlibc__
- LIBC=dietlibc
- #endif
-EOF
- eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^LIBC'`
- echo "${UNAME_MACHINE}-pc-linux-${LIBC}"
- exit ;;
- ia64:Linux:*:*)
- echo ${UNAME_MACHINE}-unknown-linux-gnu
- exit ;;
- m32r*:Linux:*:*)
- echo ${UNAME_MACHINE}-unknown-linux-gnu
- exit ;;
- m68*:Linux:*:*)
- echo ${UNAME_MACHINE}-unknown-linux-gnu
- exit ;;
- mips:Linux:*:* | mips64:Linux:*:*)
- eval $set_cc_for_build
- sed 's/^ //' << EOF >$dummy.c
- #undef CPU
- #undef ${UNAME_MACHINE}
- #undef ${UNAME_MACHINE}el
- #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL)
- CPU=${UNAME_MACHINE}el
- #else
- #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB)
- CPU=${UNAME_MACHINE}
- #else
- CPU=
- #endif
- #endif
-EOF
- eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^CPU'`
- test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; }
- ;;
- or32:Linux:*:*)
- echo or32-unknown-linux-gnu
- exit ;;
- padre:Linux:*:*)
- echo sparc-unknown-linux-gnu
- exit ;;
- parisc64:Linux:*:* | hppa64:Linux:*:*)
- echo hppa64-unknown-linux-gnu
- exit ;;
- parisc:Linux:*:* | hppa:Linux:*:*)
- # Look for CPU level
- case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in
- PA7*) echo hppa1.1-unknown-linux-gnu ;;
- PA8*) echo hppa2.0-unknown-linux-gnu ;;
- *) echo hppa-unknown-linux-gnu ;;
- esac
- exit ;;
- ppc64:Linux:*:*)
- echo powerpc64-unknown-linux-gnu
- exit ;;
- ppc:Linux:*:*)
- echo powerpc-unknown-linux-gnu
- exit ;;
- s390:Linux:*:* | s390x:Linux:*:*)
- echo ${UNAME_MACHINE}-ibm-linux
- exit ;;
- sh64*:Linux:*:*)
- echo ${UNAME_MACHINE}-unknown-linux-gnu
- exit ;;
- sh*:Linux:*:*)
- echo ${UNAME_MACHINE}-unknown-linux-gnu
- exit ;;
- sparc:Linux:*:* | sparc64:Linux:*:*)
- echo ${UNAME_MACHINE}-unknown-linux-gnu
- exit ;;
- tile*:Linux:*:*)
- echo ${UNAME_MACHINE}-unknown-linux-gnu
- exit ;;
- vax:Linux:*:*)
- echo ${UNAME_MACHINE}-dec-linux-gnu
- exit ;;
- x86_64:Linux:*:*)
- echo x86_64-unknown-linux-gnu
- exit ;;
- xtensa*:Linux:*:*)
- echo ${UNAME_MACHINE}-unknown-linux-gnu
- exit ;;
- i*86:DYNIX/ptx:4*:*)
- # ptx 4.0 does uname -s correctly, with DYNIX/ptx in there.
- # earlier versions are messed up and put the nodename in both
- # sysname and nodename.
- echo i386-sequent-sysv4
- exit ;;
- i*86:UNIX_SV:4.2MP:2.*)
- # Unixware is an offshoot of SVR4, but it has its own version
- # number series starting with 2...
- # I am not positive that other SVR4 systems won't match this,
- # I just have to hope. -- rms.
- # Use sysv4.2uw... so that sysv4* matches it.
- echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION}
- exit ;;
- i*86:OS/2:*:*)
- # If we were able to find `uname', then EMX Unix compatibility
- # is probably installed.
- echo ${UNAME_MACHINE}-pc-os2-emx
- exit ;;
- i*86:XTS-300:*:STOP)
- echo ${UNAME_MACHINE}-unknown-stop
- exit ;;
- i*86:atheos:*:*)
- echo ${UNAME_MACHINE}-unknown-atheos
- exit ;;
- i*86:syllable:*:*)
- echo ${UNAME_MACHINE}-pc-syllable
- exit ;;
- i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.[02]*:*)
- echo i386-unknown-lynxos${UNAME_RELEASE}
- exit ;;
- i*86:*DOS:*:*)
- echo ${UNAME_MACHINE}-pc-msdosdjgpp
- exit ;;
- i*86:*:4.*:* | i*86:SYSTEM_V:4.*:*)
- UNAME_REL=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'`
- if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then
- echo ${UNAME_MACHINE}-univel-sysv${UNAME_REL}
- else
- echo ${UNAME_MACHINE}-pc-sysv${UNAME_REL}
- fi
- exit ;;
- i*86:*:5:[678]*)
- # UnixWare 7.x, OpenUNIX and OpenServer 6.
- case `/bin/uname -X | grep "^Machine"` in
- *486*) UNAME_MACHINE=i486 ;;
- *Pentium) UNAME_MACHINE=i586 ;;
- *Pent*|*Celeron) UNAME_MACHINE=i686 ;;
- esac
- echo ${UNAME_MACHINE}-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION}
- exit ;;
- i*86:*:3.2:*)
- if test -f /usr/options/cb.name; then
- UNAME_REL=`sed -n 's/.*Version //p' </usr/options/cb.name`
- echo ${UNAME_MACHINE}-pc-isc$UNAME_REL
- elif /bin/uname -X 2>/dev/null >/dev/null ; then
- UNAME_REL=`(/bin/uname -X|grep Release|sed -e 's/.*= //')`
- (/bin/uname -X|grep i80486 >/dev/null) && UNAME_MACHINE=i486
- (/bin/uname -X|grep '^Machine.*Pentium' >/dev/null) \
- && UNAME_MACHINE=i586
- (/bin/uname -X|grep '^Machine.*Pent *II' >/dev/null) \
- && UNAME_MACHINE=i686
- (/bin/uname -X|grep '^Machine.*Pentium Pro' >/dev/null) \
- && UNAME_MACHINE=i686
- echo ${UNAME_MACHINE}-pc-sco$UNAME_REL
- else
- echo ${UNAME_MACHINE}-pc-sysv32
- fi
- exit ;;
- pc:*:*:*)
- # Left here for compatibility:
- # uname -m prints for DJGPP always 'pc', but it prints nothing about
- # the processor, so we play safe by assuming i586.
- # Note: whatever this is, it MUST be the same as what config.sub
- # prints for the "djgpp" host, or else GDB configury will decide that
- # this is a cross-build.
- echo i586-pc-msdosdjgpp
- exit ;;
- Intel:Mach:3*:*)
- echo i386-pc-mach3
- exit ;;
- paragon:*:*:*)
- echo i860-intel-osf1
- exit ;;
- i860:*:4.*:*) # i860-SVR4
- if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then
- echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4
- else # Add other i860-SVR4 vendors below as they are discovered.
- echo i860-unknown-sysv${UNAME_RELEASE} # Unknown i860-SVR4
- fi
- exit ;;
- mini*:CTIX:SYS*5:*)
- # "miniframe"
- echo m68010-convergent-sysv
- exit ;;
- mc68k:UNIX:SYSTEM5:3.51m)
- echo m68k-convergent-sysv
- exit ;;
- M680?0:D-NIX:5.3:*)
- echo m68k-diab-dnix
- exit ;;
- M68*:*:R3V[5678]*:*)
- test -r /sysV68 && { echo 'm68k-motorola-sysv'; exit; } ;;
- 3[345]??:*:4.0:3.0 | 3[34]??A:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 3[34]??/*:*:4.0:3.0 | 4400:*:4.0:3.0 | 4850:*:4.0:3.0 | SKA40:*:4.0:3.0 | SDS2:*:4.0:3.0 | SHG2:*:4.0:3.0 | S7501*:*:4.0:3.0)
- OS_REL=''
- test -r /etc/.relid \
- && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
- /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
- && { echo i486-ncr-sysv4.3${OS_REL}; exit; }
- /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
- && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;;
- 3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*)
- /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
- && { echo i486-ncr-sysv4; exit; } ;;
- NCR*:*:4.2:* | MPRAS*:*:4.2:*)
- OS_REL='.3'
- test -r /etc/.relid \
- && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
- /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
- && { echo i486-ncr-sysv4.3${OS_REL}; exit; }
- /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
- && { echo i586-ncr-sysv4.3${OS_REL}; exit; }
- /bin/uname -p 2>/dev/null | /bin/grep pteron >/dev/null \
- && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;;
- m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*)
- echo m68k-unknown-lynxos${UNAME_RELEASE}
- exit ;;
- mc68030:UNIX_System_V:4.*:*)
- echo m68k-atari-sysv4
- exit ;;
- TSUNAMI:LynxOS:2.*:*)
- echo sparc-unknown-lynxos${UNAME_RELEASE}
- exit ;;
- rs6000:LynxOS:2.*:*)
- echo rs6000-unknown-lynxos${UNAME_RELEASE}
- exit ;;
- PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.[02]*:*)
- echo powerpc-unknown-lynxos${UNAME_RELEASE}
- exit ;;
- SM[BE]S:UNIX_SV:*:*)
- echo mips-dde-sysv${UNAME_RELEASE}
- exit ;;
- RM*:ReliantUNIX-*:*:*)
- echo mips-sni-sysv4
- exit ;;
- RM*:SINIX-*:*:*)
- echo mips-sni-sysv4
- exit ;;
- *:SINIX-*:*:*)
- if uname -p 2>/dev/null >/dev/null ; then
- UNAME_MACHINE=`(uname -p) 2>/dev/null`
- echo ${UNAME_MACHINE}-sni-sysv4
- else
- echo ns32k-sni-sysv
- fi
- exit ;;
- PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort
- # says <Richard.M.Bartel@ccMail.Census.GOV>
- echo i586-unisys-sysv4
- exit ;;
- *:UNIX_System_V:4*:FTX*)
- # From Gerald Hewes <hewes@openmarket.com>.
- # How about differentiating between stratus architectures? -djm
- echo hppa1.1-stratus-sysv4
- exit ;;
- *:*:*:FTX*)
- # From seanf@swdc.stratus.com.
- echo i860-stratus-sysv4
- exit ;;
- i*86:VOS:*:*)
- # From Paul.Green@stratus.com.
- echo ${UNAME_MACHINE}-stratus-vos
- exit ;;
- *:VOS:*:*)
- # From Paul.Green@stratus.com.
- echo hppa1.1-stratus-vos
- exit ;;
- mc68*:A/UX:*:*)
- echo m68k-apple-aux${UNAME_RELEASE}
- exit ;;
- news*:NEWS-OS:6*:*)
- echo mips-sony-newsos6
- exit ;;
- R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*)
- if [ -d /usr/nec ]; then
- echo mips-nec-sysv${UNAME_RELEASE}
- else
- echo mips-unknown-sysv${UNAME_RELEASE}
- fi
- exit ;;
- BeBox:BeOS:*:*) # BeOS running on hardware made by Be, PPC only.
- echo powerpc-be-beos
- exit ;;
- BeMac:BeOS:*:*) # BeOS running on Mac or Mac clone, PPC only.
- echo powerpc-apple-beos
- exit ;;
- BePC:BeOS:*:*) # BeOS running on Intel PC compatible.
- echo i586-pc-beos
- exit ;;
- BePC:Haiku:*:*) # Haiku running on Intel PC compatible.
- echo i586-pc-haiku
- exit ;;
- SX-4:SUPER-UX:*:*)
- echo sx4-nec-superux${UNAME_RELEASE}
- exit ;;
- SX-5:SUPER-UX:*:*)
- echo sx5-nec-superux${UNAME_RELEASE}
- exit ;;
- SX-6:SUPER-UX:*:*)
- echo sx6-nec-superux${UNAME_RELEASE}
- exit ;;
- SX-7:SUPER-UX:*:*)
- echo sx7-nec-superux${UNAME_RELEASE}
- exit ;;
- SX-8:SUPER-UX:*:*)
- echo sx8-nec-superux${UNAME_RELEASE}
- exit ;;
- SX-8R:SUPER-UX:*:*)
- echo sx8r-nec-superux${UNAME_RELEASE}
- exit ;;
- Power*:Rhapsody:*:*)
- echo powerpc-apple-rhapsody${UNAME_RELEASE}
- exit ;;
- *:Rhapsody:*:*)
- echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE}
- exit ;;
- *:Darwin:*:*)
- UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown
- case $UNAME_PROCESSOR in
- i386)
- eval $set_cc_for_build
- if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then
- if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \
- (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \
- grep IS_64BIT_ARCH >/dev/null
- then
- UNAME_PROCESSOR="x86_64"
- fi
- fi ;;
- unknown) UNAME_PROCESSOR=powerpc ;;
- esac
- echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE}
- exit ;;
- *:procnto*:*:* | *:QNX:[0123456789]*:*)
- UNAME_PROCESSOR=`uname -p`
- if test "$UNAME_PROCESSOR" = "x86"; then
- UNAME_PROCESSOR=i386
- UNAME_MACHINE=pc
- fi
- echo ${UNAME_PROCESSOR}-${UNAME_MACHINE}-nto-qnx${UNAME_RELEASE}
- exit ;;
- *:QNX:*:4*)
- echo i386-pc-qnx
- exit ;;
- NEO-?:NONSTOP_KERNEL:*:*)
- echo neo-tandem-nsk${UNAME_RELEASE}
- exit ;;
- NSE-?:NONSTOP_KERNEL:*:*)
- echo nse-tandem-nsk${UNAME_RELEASE}
- exit ;;
- NSR-?:NONSTOP_KERNEL:*:*)
- echo nsr-tandem-nsk${UNAME_RELEASE}
- exit ;;
- *:NonStop-UX:*:*)
- echo mips-compaq-nonstopux
- exit ;;
- BS2000:POSIX*:*:*)
- echo bs2000-siemens-sysv
- exit ;;
- DS/*:UNIX_System_V:*:*)
- echo ${UNAME_MACHINE}-${UNAME_SYSTEM}-${UNAME_RELEASE}
- exit ;;
- *:Plan9:*:*)
- # "uname -m" is not consistent, so use $cputype instead. 386
- # is converted to i386 for consistency with other x86
- # operating systems.
- if test "$cputype" = "386"; then
- UNAME_MACHINE=i386
- else
- UNAME_MACHINE="$cputype"
- fi
- echo ${UNAME_MACHINE}-unknown-plan9
- exit ;;
- *:TOPS-10:*:*)
- echo pdp10-unknown-tops10
- exit ;;
- *:TENEX:*:*)
- echo pdp10-unknown-tenex
- exit ;;
- KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*)
- echo pdp10-dec-tops20
- exit ;;
- XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*)
- echo pdp10-xkl-tops20
- exit ;;
- *:TOPS-20:*:*)
- echo pdp10-unknown-tops20
- exit ;;
- *:ITS:*:*)
- echo pdp10-unknown-its
- exit ;;
- SEI:*:*:SEIUX)
- echo mips-sei-seiux${UNAME_RELEASE}
- exit ;;
- *:DragonFly:*:*)
- echo ${UNAME_MACHINE}-unknown-dragonfly`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`
- exit ;;
- *:*VMS:*:*)
- UNAME_MACHINE=`(uname -p) 2>/dev/null`
- case "${UNAME_MACHINE}" in
- A*) echo alpha-dec-vms ; exit ;;
- I*) echo ia64-dec-vms ; exit ;;
- V*) echo vax-dec-vms ; exit ;;
- esac ;;
- *:XENIX:*:SysV)
- echo i386-pc-xenix
- exit ;;
- i*86:skyos:*:*)
- echo ${UNAME_MACHINE}-pc-skyos`echo ${UNAME_RELEASE}` | sed -e 's/ .*$//'
- exit ;;
- i*86:rdos:*:*)
- echo ${UNAME_MACHINE}-pc-rdos
- exit ;;
- i*86:AROS:*:*)
- echo ${UNAME_MACHINE}-pc-aros
- exit ;;
-esac
-
-#echo '(No uname command or uname output not recognized.)' 1>&2
-#echo "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" 1>&2
-
-eval $set_cc_for_build
-cat >$dummy.c <<EOF
-#ifdef _SEQUENT_
-# include <sys/types.h>
-# include <sys/utsname.h>
-#endif
-main ()
-{
-#if defined (sony)
-#if defined (MIPSEB)
- /* BFD wants "bsd" instead of "newsos". Perhaps BFD should be changed,
- I don't know.... */
- printf ("mips-sony-bsd\n"); exit (0);
-#else
-#include <sys/param.h>
- printf ("m68k-sony-newsos%s\n",
-#ifdef NEWSOS4
- "4"
-#else
- ""
-#endif
- ); exit (0);
-#endif
-#endif
-
-#if defined (__arm) && defined (__acorn) && defined (__unix)
- printf ("arm-acorn-riscix\n"); exit (0);
-#endif
-
-#if defined (hp300) && !defined (hpux)
- printf ("m68k-hp-bsd\n"); exit (0);
-#endif
-
-#if defined (NeXT)
-#if !defined (__ARCHITECTURE__)
-#define __ARCHITECTURE__ "m68k"
-#endif
- int version;
- version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`;
- if (version < 4)
- printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version);
- else
- printf ("%s-next-openstep%d\n", __ARCHITECTURE__, version);
- exit (0);
-#endif
-
-#if defined (MULTIMAX) || defined (n16)
-#if defined (UMAXV)
- printf ("ns32k-encore-sysv\n"); exit (0);
-#else
-#if defined (CMU)
- printf ("ns32k-encore-mach\n"); exit (0);
-#else
- printf ("ns32k-encore-bsd\n"); exit (0);
-#endif
-#endif
-#endif
-
-#if defined (__386BSD__)
- printf ("i386-pc-bsd\n"); exit (0);
-#endif
-
-#if defined (sequent)
-#if defined (i386)
- printf ("i386-sequent-dynix\n"); exit (0);
-#endif
-#if defined (ns32000)
- printf ("ns32k-sequent-dynix\n"); exit (0);
-#endif
-#endif
-
-#if defined (_SEQUENT_)
- struct utsname un;
-
- uname(&un);
-
- if (strncmp(un.version, "V2", 2) == 0) {
- printf ("i386-sequent-ptx2\n"); exit (0);
- }
- if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */
- printf ("i386-sequent-ptx1\n"); exit (0);
- }
- printf ("i386-sequent-ptx\n"); exit (0);
-
-#endif
-
-#if defined (vax)
-# if !defined (ultrix)
-# include <sys/param.h>
-# if defined (BSD)
-# if BSD == 43
- printf ("vax-dec-bsd4.3\n"); exit (0);
-# else
-# if BSD == 199006
- printf ("vax-dec-bsd4.3reno\n"); exit (0);
-# else
- printf ("vax-dec-bsd\n"); exit (0);
-# endif
-# endif
-# else
- printf ("vax-dec-bsd\n"); exit (0);
-# endif
-# else
- printf ("vax-dec-ultrix\n"); exit (0);
-# endif
-#endif
-
-#if defined (alliant) && defined (i860)
- printf ("i860-alliant-bsd\n"); exit (0);
-#endif
-
- exit (1);
-}
-EOF
-
-$CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null && SYSTEM_NAME=`$dummy` &&
- { echo "$SYSTEM_NAME"; exit; }
-
-# Apollos put the system type in the environment.
-
-test -d /usr/apollo && { echo ${ISP}-apollo-${SYSTYPE}; exit; }
-
-# Convex versions that predate uname can use getsysinfo(1)
-
-if [ -x /usr/convex/getsysinfo ]
-then
- case `getsysinfo -f cpu_type` in
- c1*)
- echo c1-convex-bsd
- exit ;;
- c2*)
- if getsysinfo -f scalar_acc
- then echo c32-convex-bsd
- else echo c2-convex-bsd
- fi
- exit ;;
- c34*)
- echo c34-convex-bsd
- exit ;;
- c38*)
- echo c38-convex-bsd
- exit ;;
- c4*)
- echo c4-convex-bsd
- exit ;;
- esac
-fi
-
-cat >&2 <<EOF
-$0: unable to guess system type
-
-This script, last modified $timestamp, has failed to recognize
-the operating system you are using. It is advised that you
-download the most up to date version of the config scripts from
-
- http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD
-and
- http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD
-
-If the version you run ($0) is already up to date, please
-send the following data and any information you think might be
-pertinent to <config-patches@gnu.org> in order to provide the needed
-information to handle your system.
-
-config.guess timestamp = $timestamp
-
-uname -m = `(uname -m) 2>/dev/null || echo unknown`
-uname -r = `(uname -r) 2>/dev/null || echo unknown`
-uname -s = `(uname -s) 2>/dev/null || echo unknown`
-uname -v = `(uname -v) 2>/dev/null || echo unknown`
-
-/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null`
-/bin/uname -X = `(/bin/uname -X) 2>/dev/null`
-
-hostinfo = `(hostinfo) 2>/dev/null`
-/bin/universe = `(/bin/universe) 2>/dev/null`
-/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null`
-/bin/arch = `(/bin/arch) 2>/dev/null`
-/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null`
-/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null`
-
-UNAME_MACHINE = ${UNAME_MACHINE}
-UNAME_RELEASE = ${UNAME_RELEASE}
-UNAME_SYSTEM = ${UNAME_SYSTEM}
-UNAME_VERSION = ${UNAME_VERSION}
-EOF
-
-exit 1
-
-# Local variables:
-# eval: (add-hook 'write-file-hooks 'time-stamp)
-# time-stamp-start: "timestamp='"
-# time-stamp-format: "%:y-%02m-%02d"
-# time-stamp-end: "'"
-# End:
diff --git a/volk/config.sub b/volk/config.sub
deleted file mode 100644
index f9fcdc879..000000000
--- a/volk/config.sub
+++ /dev/null
@@ -1,1756 +0,0 @@
-#! /bin/sh
-# Configuration validation subroutine script.
-# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
-# 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010,
-# 2011 Free Software Foundation, Inc.
-
-timestamp='2011-06-03'
-
-# This file is (in principle) common to ALL GNU software.
-# The presence of a machine in this file suggests that SOME GNU software
-# can handle that machine. It does not imply ALL GNU software can.
-#
-# This file is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA
-# 02110-1301, USA.
-#
-# As a special exception to the GNU General Public License, if you
-# distribute this file as part of a program that contains a
-# configuration script generated by Autoconf, you may include it under
-# the same distribution terms that you use for the rest of that program.
-
-
-# Please send patches to <config-patches@gnu.org>. Submit a context
-# diff and a properly formatted GNU ChangeLog entry.
-#
-# Configuration subroutine to validate and canonicalize a configuration type.
-# Supply the specified configuration type as an argument.
-# If it is invalid, we print an error message on stderr and exit with code 1.
-# Otherwise, we print the canonical config type on stdout and succeed.
-
-# You can get the latest version of this script from:
-# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD
-
-# This file is supposed to be the same for all GNU packages
-# and recognize all the CPU types, system types and aliases
-# that are meaningful with *any* GNU software.
-# Each package is responsible for reporting which valid configurations
-# it does not support. The user should be able to distinguish
-# a failure to support a valid configuration from a meaningless
-# configuration.
-
-# The goal of this file is to map all the various variations of a given
-# machine specification into a single specification in the form:
-# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM
-# or in some cases, the newer four-part form:
-# CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM
-# It is wrong to echo any other type of specification.
-
-me=`echo "$0" | sed -e 's,.*/,,'`
-
-usage="\
-Usage: $0 [OPTION] CPU-MFR-OPSYS
- $0 [OPTION] ALIAS
-
-Canonicalize a configuration name.
-
-Operation modes:
- -h, --help print this help, then exit
- -t, --time-stamp print date of last modification, then exit
- -v, --version print version number, then exit
-
-Report bugs and patches to <config-patches@gnu.org>."
-
-version="\
-GNU config.sub ($timestamp)
-
-Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000,
-2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free
-Software Foundation, Inc.
-
-This is free software; see the source for copying conditions. There is NO
-warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
-
-help="
-Try \`$me --help' for more information."
-
-# Parse command line
-while test $# -gt 0 ; do
- case $1 in
- --time-stamp | --time* | -t )
- echo "$timestamp" ; exit ;;
- --version | -v )
- echo "$version" ; exit ;;
- --help | --h* | -h )
- echo "$usage"; exit ;;
- -- ) # Stop option processing
- shift; break ;;
- - ) # Use stdin as input.
- break ;;
- -* )
- echo "$me: invalid option $1$help"
- exit 1 ;;
-
- *local*)
- # First pass through any local machine types.
- echo $1
- exit ;;
-
- * )
- break ;;
- esac
-done
-
-case $# in
- 0) echo "$me: missing argument$help" >&2
- exit 1;;
- 1) ;;
- *) echo "$me: too many arguments$help" >&2
- exit 1;;
-esac
-
-# Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any).
-# Here we must recognize all the valid KERNEL-OS combinations.
-maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`
-case $maybe_os in
- nto-qnx* | linux-gnu* | linux-android* | linux-dietlibc | linux-newlib* | \
- linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | \
- knetbsd*-gnu* | netbsd*-gnu* | \
- kopensolaris*-gnu* | \
- storm-chaos* | os2-emx* | rtmk-nova*)
- os=-$maybe_os
- basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`
- ;;
- *)
- basic_machine=`echo $1 | sed 's/-[^-]*$//'`
- if [ $basic_machine != $1 ]
- then os=`echo $1 | sed 's/.*-/-/'`
- else os=; fi
- ;;
-esac
-
-### Let's recognize common machines as not being operating systems so
-### that things like config.sub decstation-3100 work. We also
-### recognize some manufacturers as not being operating systems, so we
-### can provide default operating systems below.
-case $os in
- -sun*os*)
- # Prevent following clause from handling this invalid input.
- ;;
- -dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \
- -att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \
- -unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \
- -convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\
- -c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \
- -harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \
- -apple | -axis | -knuth | -cray | -microblaze)
- os=
- basic_machine=$1
- ;;
- -bluegene*)
- os=-cnk
- ;;
- -sim | -cisco | -oki | -wec | -winbond)
- os=
- basic_machine=$1
- ;;
- -scout)
- ;;
- -wrs)
- os=-vxworks
- basic_machine=$1
- ;;
- -chorusos*)
- os=-chorusos
- basic_machine=$1
- ;;
- -chorusrdb)
- os=-chorusrdb
- basic_machine=$1
- ;;
- -hiux*)
- os=-hiuxwe2
- ;;
- -sco6)
- os=-sco5v6
- basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
- ;;
- -sco5)
- os=-sco3.2v5
- basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
- ;;
- -sco4)
- os=-sco3.2v4
- basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
- ;;
- -sco3.2.[4-9]*)
- os=`echo $os | sed -e 's/sco3.2./sco3.2v/'`
- basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
- ;;
- -sco3.2v[4-9]*)
- # Don't forget version if it is 3.2v4 or newer.
- basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
- ;;
- -sco5v6*)
- # Don't forget version if it is 3.2v4 or newer.
- basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
- ;;
- -sco*)
- os=-sco3.2v2
- basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
- ;;
- -udk*)
- basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
- ;;
- -isc)
- os=-isc2.2
- basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
- ;;
- -clix*)
- basic_machine=clipper-intergraph
- ;;
- -isc*)
- basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
- ;;
- -lynx*)
- os=-lynxos
- ;;
- -ptx*)
- basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'`
- ;;
- -windowsnt*)
- os=`echo $os | sed -e 's/windowsnt/winnt/'`
- ;;
- -psos*)
- os=-psos
- ;;
- -mint | -mint[0-9]*)
- basic_machine=m68k-atari
- os=-mint
- ;;
-esac
-
-# Decode aliases for certain CPU-COMPANY combinations.
-case $basic_machine in
- # Recognize the basic CPU types without company name.
- # Some are omitted here because they have special meanings below.
- 1750a | 580 \
- | a29k \
- | alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \
- | alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \
- | am33_2.0 \
- | arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr | avr32 \
- | bfin \
- | c4x | clipper \
- | d10v | d30v | dlx | dsp16xx \
- | fido | fr30 | frv \
- | h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
- | i370 | i860 | i960 | ia64 \
- | ip2k | iq2000 \
- | lm32 \
- | m32c | m32r | m32rle | m68000 | m68k | m88k \
- | maxq | mb | microblaze | mcore | mep | metag \
- | mips | mipsbe | mipseb | mipsel | mipsle \
- | mips16 \
- | mips64 | mips64el \
- | mips64octeon | mips64octeonel \
- | mips64orion | mips64orionel \
- | mips64r5900 | mips64r5900el \
- | mips64vr | mips64vrel \
- | mips64vr4100 | mips64vr4100el \
- | mips64vr4300 | mips64vr4300el \
- | mips64vr5000 | mips64vr5000el \
- | mips64vr5900 | mips64vr5900el \
- | mipsisa32 | mipsisa32el \
- | mipsisa32r2 | mipsisa32r2el \
- | mipsisa64 | mipsisa64el \
- | mipsisa64r2 | mipsisa64r2el \
- | mipsisa64sb1 | mipsisa64sb1el \
- | mipsisa64sr71k | mipsisa64sr71kel \
- | mipstx39 | mipstx39el \
- | mn10200 | mn10300 \
- | moxie \
- | mt \
- | msp430 \
- | nds32 | nds32le | nds32be \
- | nios | nios2 \
- | ns16k | ns32k \
- | open8 \
- | or32 \
- | pdp10 | pdp11 | pj | pjl \
- | powerpc | powerpc64 | powerpc64le | powerpcle \
- | pyramid \
- | rx \
- | score \
- | sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \
- | sh64 | sh64le \
- | sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \
- | sparcv8 | sparcv9 | sparcv9b | sparcv9v \
- | spu \
- | tahoe | tic4x | tic54x | tic55x | tic6x | tic80 | tron \
- | ubicom32 \
- | v850 | v850e | v850e1 | v850e2 | v850es | v850e2v3 \
- | we32k \
- | x86 | xc16x | xstormy16 | xtensa \
- | z8k | z80)
- basic_machine=$basic_machine-unknown
- ;;
- c54x)
- basic_machine=tic54x-unknown
- ;;
- c55x)
- basic_machine=tic55x-unknown
- ;;
- c6x)
- basic_machine=tic6x-unknown
- ;;
- m6811 | m68hc11 | m6812 | m68hc12 | picochip)
- # Motorola 68HC11/12.
- basic_machine=$basic_machine-unknown
- os=-none
- ;;
- m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k)
- ;;
- ms1)
- basic_machine=mt-unknown
- ;;
-
- strongarm | thumb | xscale)
- basic_machine=arm-unknown
- ;;
-
- xscaleeb)
- basic_machine=armeb-unknown
- ;;
-
- xscaleel)
- basic_machine=armel-unknown
- ;;
-
- # We use `pc' rather than `unknown'
- # because (1) that's what they normally are, and
- # (2) the word "unknown" tends to confuse beginning users.
- i*86 | x86_64)
- basic_machine=$basic_machine-pc
- ;;
- # Object if more than one company name word.
- *-*-*)
- echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
- exit 1
- ;;
- # Recognize the basic CPU types with company name.
- 580-* \
- | a29k-* \
- | alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \
- | alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \
- | alphapca5[67]-* | alpha64pca5[67]-* | arc-* \
- | arm-* | armbe-* | armle-* | armeb-* | armv*-* \
- | avr-* | avr32-* \
- | bfin-* | bs2000-* \
- | c[123]* | c30-* | [cjt]90-* | c4x-* \
- | clipper-* | craynv-* | cydra-* \
- | d10v-* | d30v-* | dlx-* \
- | elxsi-* \
- | f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \
- | h8300-* | h8500-* \
- | hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \
- | i*86-* | i860-* | i960-* | ia64-* \
- | ip2k-* | iq2000-* \
- | lm32-* \
- | m32c-* | m32r-* | m32rle-* \
- | m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \
- | m88110-* | m88k-* | maxq-* | mcore-* | metag-* | microblaze-* \
- | mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \
- | mips16-* \
- | mips64-* | mips64el-* \
- | mips64octeon-* | mips64octeonel-* \
- | mips64orion-* | mips64orionel-* \
- | mips64r5900-* | mips64r5900el-* \
- | mips64vr-* | mips64vrel-* \
- | mips64vr4100-* | mips64vr4100el-* \
- | mips64vr4300-* | mips64vr4300el-* \
- | mips64vr5000-* | mips64vr5000el-* \
- | mips64vr5900-* | mips64vr5900el-* \
- | mipsisa32-* | mipsisa32el-* \
- | mipsisa32r2-* | mipsisa32r2el-* \
- | mipsisa64-* | mipsisa64el-* \
- | mipsisa64r2-* | mipsisa64r2el-* \
- | mipsisa64sb1-* | mipsisa64sb1el-* \
- | mipsisa64sr71k-* | mipsisa64sr71kel-* \
- | mipstx39-* | mipstx39el-* \
- | mmix-* \
- | mt-* \
- | msp430-* \
- | nds32-* | nds32le-* | nds32be-* \
- | nios-* | nios2-* \
- | none-* | np1-* | ns16k-* | ns32k-* \
- | open8-* \
- | orion-* \
- | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \
- | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* \
- | pyramid-* \
- | romp-* | rs6000-* | rx-* \
- | sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \
- | shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \
- | sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \
- | sparclite-* \
- | sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | sv1-* | sx?-* \
- | tahoe-* \
- | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \
- | tile*-* \
- | tron-* \
- | ubicom32-* \
- | v850-* | v850e-* | v850e1-* | v850es-* | v850e2-* | v850e2v3-* \
- | vax-* \
- | we32k-* \
- | x86-* | x86_64-* | xc16x-* | xps100-* \
- | xstormy16-* | xtensa*-* \
- | ymp-* \
- | z8k-* | z80-*)
- ;;
- # Recognize the basic CPU types without company name, with glob match.
- xtensa*)
- basic_machine=$basic_machine-unknown
- ;;
- # Recognize the various machine names and aliases which stand
- # for a CPU type and a company and sometimes even an OS.
- 386bsd)
- basic_machine=i386-unknown
- os=-bsd
- ;;
- 3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc)
- basic_machine=m68000-att
- ;;
- 3b*)
- basic_machine=we32k-att
- ;;
- a29khif)
- basic_machine=a29k-amd
- os=-udi
- ;;
- abacus)
- basic_machine=abacus-unknown
- ;;
- adobe68k)
- basic_machine=m68010-adobe
- os=-scout
- ;;
- alliant | fx80)
- basic_machine=fx80-alliant
- ;;
- altos | altos3068)
- basic_machine=m68k-altos
- ;;
- am29k)
- basic_machine=a29k-none
- os=-bsd
- ;;
- amd64)
- basic_machine=x86_64-pc
- ;;
- amd64-*)
- basic_machine=x86_64-`echo $basic_machine | sed 's/^[^-]*-//'`
- ;;
- amdahl)
- basic_machine=580-amdahl
- os=-sysv
- ;;
- amiga | amiga-*)
- basic_machine=m68k-unknown
- ;;
- amigaos | amigados)
- basic_machine=m68k-unknown
- os=-amigaos
- ;;
- amigaunix | amix)
- basic_machine=m68k-unknown
- os=-sysv4
- ;;
- apollo68)
- basic_machine=m68k-apollo
- os=-sysv
- ;;
- apollo68bsd)
- basic_machine=m68k-apollo
- os=-bsd
- ;;
- aros)
- basic_machine=i386-pc
- os=-aros
- ;;
- aux)
- basic_machine=m68k-apple
- os=-aux
- ;;
- balance)
- basic_machine=ns32k-sequent
- os=-dynix
- ;;
- blackfin)
- basic_machine=bfin-unknown
- os=-linux
- ;;
- blackfin-*)
- basic_machine=bfin-`echo $basic_machine | sed 's/^[^-]*-//'`
- os=-linux
- ;;
- bluegene*)
- basic_machine=powerpc-ibm
- os=-cnk
- ;;
- c54x-*)
- basic_machine=tic54x-`echo $basic_machine | sed 's/^[^-]*-//'`
- ;;
- c55x-*)
- basic_machine=tic55x-`echo $basic_machine | sed 's/^[^-]*-//'`
- ;;
- c6x-*)
- basic_machine=tic6x-`echo $basic_machine | sed 's/^[^-]*-//'`
- ;;
- c90)
- basic_machine=c90-cray
- os=-unicos
- ;;
- cegcc)
- basic_machine=arm-unknown
- os=-cegcc
- ;;
- convex-c1)
- basic_machine=c1-convex
- os=-bsd
- ;;
- convex-c2)
- basic_machine=c2-convex
- os=-bsd
- ;;
- convex-c32)
- basic_machine=c32-convex
- os=-bsd
- ;;
- convex-c34)
- basic_machine=c34-convex
- os=-bsd
- ;;
- convex-c38)
- basic_machine=c38-convex
- os=-bsd
- ;;
- cray | j90)
- basic_machine=j90-cray
- os=-unicos
- ;;
- craynv)
- basic_machine=craynv-cray
- os=-unicosmp
- ;;
- cr16 | cr16-*)
- basic_machine=cr16-unknown
- os=-elf
- ;;
- crds | unos)
- basic_machine=m68k-crds
- ;;
- crisv32 | crisv32-* | etraxfs*)
- basic_machine=crisv32-axis
- ;;
- cris | cris-* | etrax*)
- basic_machine=cris-axis
- ;;
- crx)
- basic_machine=crx-unknown
- os=-elf
- ;;
- da30 | da30-*)
- basic_machine=m68k-da30
- ;;
- decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn)
- basic_machine=mips-dec
- ;;
- decsystem10* | dec10*)
- basic_machine=pdp10-dec
- os=-tops10
- ;;
- decsystem20* | dec20*)
- basic_machine=pdp10-dec
- os=-tops20
- ;;
- delta | 3300 | motorola-3300 | motorola-delta \
- | 3300-motorola | delta-motorola)
- basic_machine=m68k-motorola
- ;;
- delta88)
- basic_machine=m88k-motorola
- os=-sysv3
- ;;
- dicos)
- basic_machine=i686-pc
- os=-dicos
- ;;
- djgpp)
- basic_machine=i586-pc
- os=-msdosdjgpp
- ;;
- dpx20 | dpx20-*)
- basic_machine=rs6000-bull
- os=-bosx
- ;;
- dpx2* | dpx2*-bull)
- basic_machine=m68k-bull
- os=-sysv3
- ;;
- ebmon29k)
- basic_machine=a29k-amd
- os=-ebmon
- ;;
- elxsi)
- basic_machine=elxsi-elxsi
- os=-bsd
- ;;
- encore | umax | mmax)
- basic_machine=ns32k-encore
- ;;
- es1800 | OSE68k | ose68k | ose | OSE)
- basic_machine=m68k-ericsson
- os=-ose
- ;;
- fx2800)
- basic_machine=i860-alliant
- ;;
- genix)
- basic_machine=ns32k-ns
- ;;
- gmicro)
- basic_machine=tron-gmicro
- os=-sysv
- ;;
- go32)
- basic_machine=i386-pc
- os=-go32
- ;;
- h3050r* | hiux*)
- basic_machine=hppa1.1-hitachi
- os=-hiuxwe2
- ;;
- h8300hms)
- basic_machine=h8300-hitachi
- os=-hms
- ;;
- h8300xray)
- basic_machine=h8300-hitachi
- os=-xray
- ;;
- h8500hms)
- basic_machine=h8500-hitachi
- os=-hms
- ;;
- harris)
- basic_machine=m88k-harris
- os=-sysv3
- ;;
- hp300-*)
- basic_machine=m68k-hp
- ;;
- hp300bsd)
- basic_machine=m68k-hp
- os=-bsd
- ;;
- hp300hpux)
- basic_machine=m68k-hp
- os=-hpux
- ;;
- hp3k9[0-9][0-9] | hp9[0-9][0-9])
- basic_machine=hppa1.0-hp
- ;;
- hp9k2[0-9][0-9] | hp9k31[0-9])
- basic_machine=m68000-hp
- ;;
- hp9k3[2-9][0-9])
- basic_machine=m68k-hp
- ;;
- hp9k6[0-9][0-9] | hp6[0-9][0-9])
- basic_machine=hppa1.0-hp
- ;;
- hp9k7[0-79][0-9] | hp7[0-79][0-9])
- basic_machine=hppa1.1-hp
- ;;
- hp9k78[0-9] | hp78[0-9])
- # FIXME: really hppa2.0-hp
- basic_machine=hppa1.1-hp
- ;;
- hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893)
- # FIXME: really hppa2.0-hp
- basic_machine=hppa1.1-hp
- ;;
- hp9k8[0-9][13679] | hp8[0-9][13679])
- basic_machine=hppa1.1-hp
- ;;
- hp9k8[0-9][0-9] | hp8[0-9][0-9])
- basic_machine=hppa1.0-hp
- ;;
- hppa-next)
- os=-nextstep3
- ;;
- hppaosf)
- basic_machine=hppa1.1-hp
- os=-osf
- ;;
- hppro)
- basic_machine=hppa1.1-hp
- os=-proelf
- ;;
- i370-ibm* | ibm*)
- basic_machine=i370-ibm
- ;;
-# I'm not sure what "Sysv32" means. Should this be sysv3.2?
- i*86v32)
- basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
- os=-sysv32
- ;;
- i*86v4*)
- basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
- os=-sysv4
- ;;
- i*86v)
- basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
- os=-sysv
- ;;
- i*86sol2)
- basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
- os=-solaris2
- ;;
- i386mach)
- basic_machine=i386-mach
- os=-mach
- ;;
- i386-vsta | vsta)
- basic_machine=i386-unknown
- os=-vsta
- ;;
- iris | iris4d)
- basic_machine=mips-sgi
- case $os in
- -irix*)
- ;;
- *)
- os=-irix4
- ;;
- esac
- ;;
- isi68 | isi)
- basic_machine=m68k-isi
- os=-sysv
- ;;
- m68knommu)
- basic_machine=m68k-unknown
- os=-linux
- ;;
- m68knommu-*)
- basic_machine=m68k-`echo $basic_machine | sed 's/^[^-]*-//'`
- os=-linux
- ;;
- m88k-omron*)
- basic_machine=m88k-omron
- ;;
- magnum | m3230)
- basic_machine=mips-mips
- os=-sysv
- ;;
- merlin)
- basic_machine=ns32k-utek
- os=-sysv
- ;;
- microblaze)
- basic_machine=microblaze-xilinx
- ;;
- mingw32)
- basic_machine=i386-pc
- os=-mingw32
- ;;
- mingw32ce)
- basic_machine=arm-unknown
- os=-mingw32ce
- ;;
- miniframe)
- basic_machine=m68000-convergent
- ;;
- *mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*)
- basic_machine=m68k-atari
- os=-mint
- ;;
- mips3*-*)
- basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`
- ;;
- mips3*)
- basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown
- ;;
- monitor)
- basic_machine=m68k-rom68k
- os=-coff
- ;;
- morphos)
- basic_machine=powerpc-unknown
- os=-morphos
- ;;
- msdos)
- basic_machine=i386-pc
- os=-msdos
- ;;
- ms1-*)
- basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'`
- ;;
- mvs)
- basic_machine=i370-ibm
- os=-mvs
- ;;
- ncr3000)
- basic_machine=i486-ncr
- os=-sysv4
- ;;
- netbsd386)
- basic_machine=i386-unknown
- os=-netbsd
- ;;
- netwinder)
- basic_machine=armv4l-rebel
- os=-linux
- ;;
- news | news700 | news800 | news900)
- basic_machine=m68k-sony
- os=-newsos
- ;;
- news1000)
- basic_machine=m68030-sony
- os=-newsos
- ;;
- news-3600 | risc-news)
- basic_machine=mips-sony
- os=-newsos
- ;;
- necv70)
- basic_machine=v70-nec
- os=-sysv
- ;;
- next | m*-next )
- basic_machine=m68k-next
- case $os in
- -nextstep* )
- ;;
- -ns2*)
- os=-nextstep2
- ;;
- *)
- os=-nextstep3
- ;;
- esac
- ;;
- nh3000)
- basic_machine=m68k-harris
- os=-cxux
- ;;
- nh[45]000)
- basic_machine=m88k-harris
- os=-cxux
- ;;
- nindy960)
- basic_machine=i960-intel
- os=-nindy
- ;;
- mon960)
- basic_machine=i960-intel
- os=-mon960
- ;;
- nonstopux)
- basic_machine=mips-compaq
- os=-nonstopux
- ;;
- np1)
- basic_machine=np1-gould
- ;;
- neo-tandem)
- basic_machine=neo-tandem
- ;;
- nse-tandem)
- basic_machine=nse-tandem
- ;;
- nsr-tandem)
- basic_machine=nsr-tandem
- ;;
- op50n-* | op60c-*)
- basic_machine=hppa1.1-oki
- os=-proelf
- ;;
- openrisc | openrisc-*)
- basic_machine=or32-unknown
- ;;
- os400)
- basic_machine=powerpc-ibm
- os=-os400
- ;;
- OSE68000 | ose68000)
- basic_machine=m68000-ericsson
- os=-ose
- ;;
- os68k)
- basic_machine=m68k-none
- os=-os68k
- ;;
- pa-hitachi)
- basic_machine=hppa1.1-hitachi
- os=-hiuxwe2
- ;;
- paragon)
- basic_machine=i860-intel
- os=-osf
- ;;
- parisc)
- basic_machine=hppa-unknown
- os=-linux
- ;;
- parisc-*)
- basic_machine=hppa-`echo $basic_machine | sed 's/^[^-]*-//'`
- os=-linux
- ;;
- pbd)
- basic_machine=sparc-tti
- ;;
- pbb)
- basic_machine=m68k-tti
- ;;
- pc532 | pc532-*)
- basic_machine=ns32k-pc532
- ;;
- pc98)
- basic_machine=i386-pc
- ;;
- pc98-*)
- basic_machine=i386-`echo $basic_machine | sed 's/^[^-]*-//'`
- ;;
- pentium | p5 | k5 | k6 | nexgen | viac3)
- basic_machine=i586-pc
- ;;
- pentiumpro | p6 | 6x86 | athlon | athlon_*)
- basic_machine=i686-pc
- ;;
- pentiumii | pentium2 | pentiumiii | pentium3)
- basic_machine=i686-pc
- ;;
- pentium4)
- basic_machine=i786-pc
- ;;
- pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*)
- basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'`
- ;;
- pentiumpro-* | p6-* | 6x86-* | athlon-*)
- basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
- ;;
- pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*)
- basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
- ;;
- pentium4-*)
- basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'`
- ;;
- pn)
- basic_machine=pn-gould
- ;;
- power) basic_machine=power-ibm
- ;;
- ppc | ppcbe) basic_machine=powerpc-unknown
- ;;
- ppc-* | ppcbe-*)
- basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'`
- ;;
- ppcle | powerpclittle | ppc-le | powerpc-little)
- basic_machine=powerpcle-unknown
- ;;
- ppcle-* | powerpclittle-*)
- basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'`
- ;;
- ppc64) basic_machine=powerpc64-unknown
- ;;
- ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'`
- ;;
- ppc64le | powerpc64little | ppc64-le | powerpc64-little)
- basic_machine=powerpc64le-unknown
- ;;
- ppc64le-* | powerpc64little-*)
- basic_machine=powerpc64le-`echo $basic_machine | sed 's/^[^-]*-//'`
- ;;
- ps2)
- basic_machine=i386-ibm
- ;;
- pw32)
- basic_machine=i586-unknown
- os=-pw32
- ;;
- rdos)
- basic_machine=i386-pc
- os=-rdos
- ;;
- rom68k)
- basic_machine=m68k-rom68k
- os=-coff
- ;;
- rm[46]00)
- basic_machine=mips-siemens
- ;;
- rtpc | rtpc-*)
- basic_machine=romp-ibm
- ;;
- s390 | s390-*)
- basic_machine=s390-ibm
- ;;
- s390x | s390x-*)
- basic_machine=s390x-ibm
- ;;
- sa29200)
- basic_machine=a29k-amd
- os=-udi
- ;;
- sb1)
- basic_machine=mipsisa64sb1-unknown
- ;;
- sb1el)
- basic_machine=mipsisa64sb1el-unknown
- ;;
- sde)
- basic_machine=mipsisa32-sde
- os=-elf
- ;;
- sei)
- basic_machine=mips-sei
- os=-seiux
- ;;
- sequent)
- basic_machine=i386-sequent
- ;;
- sh)
- basic_machine=sh-hitachi
- os=-hms
- ;;
- sh5el)
- basic_machine=sh5le-unknown
- ;;
- sh64)
- basic_machine=sh64-unknown
- ;;
- sparclite-wrs | simso-wrs)
- basic_machine=sparclite-wrs
- os=-vxworks
- ;;
- sps7)
- basic_machine=m68k-bull
- os=-sysv2
- ;;
- spur)
- basic_machine=spur-unknown
- ;;
- st2000)
- basic_machine=m68k-tandem
- ;;
- stratus)
- basic_machine=i860-stratus
- os=-sysv4
- ;;
- strongarm-* | thumb-*)
- basic_machine=arm-`echo $basic_machine | sed 's/^[^-]*-//'`
- ;;
- sun2)
- basic_machine=m68000-sun
- ;;
- sun2os3)
- basic_machine=m68000-sun
- os=-sunos3
- ;;
- sun2os4)
- basic_machine=m68000-sun
- os=-sunos4
- ;;
- sun3os3)
- basic_machine=m68k-sun
- os=-sunos3
- ;;
- sun3os4)
- basic_machine=m68k-sun
- os=-sunos4
- ;;
- sun4os3)
- basic_machine=sparc-sun
- os=-sunos3
- ;;
- sun4os4)
- basic_machine=sparc-sun
- os=-sunos4
- ;;
- sun4sol2)
- basic_machine=sparc-sun
- os=-solaris2
- ;;
- sun3 | sun3-*)
- basic_machine=m68k-sun
- ;;
- sun4)
- basic_machine=sparc-sun
- ;;
- sun386 | sun386i | roadrunner)
- basic_machine=i386-sun
- ;;
- sv1)
- basic_machine=sv1-cray
- os=-unicos
- ;;
- symmetry)
- basic_machine=i386-sequent
- os=-dynix
- ;;
- t3e)
- basic_machine=alphaev5-cray
- os=-unicos
- ;;
- t90)
- basic_machine=t90-cray
- os=-unicos
- ;;
- tile*)
- basic_machine=$basic_machine-unknown
- os=-linux-gnu
- ;;
- tx39)
- basic_machine=mipstx39-unknown
- ;;
- tx39el)
- basic_machine=mipstx39el-unknown
- ;;
- toad1)
- basic_machine=pdp10-xkl
- os=-tops20
- ;;
- tower | tower-32)
- basic_machine=m68k-ncr
- ;;
- tpf)
- basic_machine=s390x-ibm
- os=-tpf
- ;;
- udi29k)
- basic_machine=a29k-amd
- os=-udi
- ;;
- ultra3)
- basic_machine=a29k-nyu
- os=-sym1
- ;;
- v810 | necv810)
- basic_machine=v810-nec
- os=-none
- ;;
- vaxv)
- basic_machine=vax-dec
- os=-sysv
- ;;
- vms)
- basic_machine=vax-dec
- os=-vms
- ;;
- vpp*|vx|vx-*)
- basic_machine=f301-fujitsu
- ;;
- vxworks960)
- basic_machine=i960-wrs
- os=-vxworks
- ;;
- vxworks68)
- basic_machine=m68k-wrs
- os=-vxworks
- ;;
- vxworks29k)
- basic_machine=a29k-wrs
- os=-vxworks
- ;;
- w65*)
- basic_machine=w65-wdc
- os=-none
- ;;
- w89k-*)
- basic_machine=hppa1.1-winbond
- os=-proelf
- ;;
- xbox)
- basic_machine=i686-pc
- os=-mingw32
- ;;
- xps | xps100)
- basic_machine=xps100-honeywell
- ;;
- xscale-* | xscalee[bl]-*)
- basic_machine=`echo $basic_machine | sed 's/^xscale/arm/'`
- ;;
- ymp)
- basic_machine=ymp-cray
- os=-unicos
- ;;
- z8k-*-coff)
- basic_machine=z8k-unknown
- os=-sim
- ;;
- z80-*-coff)
- basic_machine=z80-unknown
- os=-sim
- ;;
- none)
- basic_machine=none-none
- os=-none
- ;;
-
-# Here we handle the default manufacturer of certain CPU types. It is in
-# some cases the only manufacturer, in others, it is the most popular.
- w89k)
- basic_machine=hppa1.1-winbond
- ;;
- op50n)
- basic_machine=hppa1.1-oki
- ;;
- op60c)
- basic_machine=hppa1.1-oki
- ;;
- romp)
- basic_machine=romp-ibm
- ;;
- mmix)
- basic_machine=mmix-knuth
- ;;
- rs6000)
- basic_machine=rs6000-ibm
- ;;
- vax)
- basic_machine=vax-dec
- ;;
- pdp10)
- # there are many clones, so DEC is not a safe bet
- basic_machine=pdp10-unknown
- ;;
- pdp11)
- basic_machine=pdp11-dec
- ;;
- we32k)
- basic_machine=we32k-att
- ;;
- sh[1234] | sh[24]a | sh[24]aeb | sh[34]eb | sh[1234]le | sh[23]ele)
- basic_machine=sh-unknown
- ;;
- sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v)
- basic_machine=sparc-sun
- ;;
- cydra)
- basic_machine=cydra-cydrome
- ;;
- orion)
- basic_machine=orion-highlevel
- ;;
- orion105)
- basic_machine=clipper-highlevel
- ;;
- mac | mpw | mac-mpw)
- basic_machine=m68k-apple
- ;;
- pmac | pmac-mpw)
- basic_machine=powerpc-apple
- ;;
- *-unknown)
- # Make sure to match an already-canonicalized machine name.
- ;;
- *)
- echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
- exit 1
- ;;
-esac
-
-# Here we canonicalize certain aliases for manufacturers.
-case $basic_machine in
- *-digital*)
- basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'`
- ;;
- *-commodore*)
- basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'`
- ;;
- *)
- ;;
-esac
-
-# Decode manufacturer-specific aliases for certain operating systems.
-
-if [ x"$os" != x"" ]
-then
-case $os in
- # First match some system type aliases
- # that might get confused with valid system types.
- # -solaris* is a basic system type, with this one exception.
- -auroraux)
- os=-auroraux
- ;;
- -solaris1 | -solaris1.*)
- os=`echo $os | sed -e 's|solaris1|sunos4|'`
- ;;
- -solaris)
- os=-solaris2
- ;;
- -svr4*)
- os=-sysv4
- ;;
- -unixware*)
- os=-sysv4.2uw
- ;;
- -gnu/linux*)
- os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'`
- ;;
- # First accept the basic system types.
- # The portable systems comes first.
- # Each alternative MUST END IN A *, to match a version number.
- # -sysv* is not here because it comes later, after sysvr4.
- -gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \
- | -*vms* | -sco* | -esix* | -isc* | -aix* | -cnk* | -sunos | -sunos[34]*\
- | -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \
- | -sym* | -kopensolaris* \
- | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \
- | -aos* | -aros* \
- | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
- | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
- | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \
- | -openbsd* | -solidbsd* \
- | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \
- | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \
- | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \
- | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
- | -chorusos* | -chorusrdb* | -cegcc* \
- | -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
- | -mingw32* | -linux-gnu* | -linux-android* \
- | -linux-newlib* | -linux-uclibc* \
- | -uxpv* | -beos* | -mpeix* | -udk* \
- | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \
- | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \
- | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \
- | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \
- | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \
- | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \
- | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es*)
- # Remember, each alternative MUST END IN *, to match a version number.
- ;;
- -qnx*)
- case $basic_machine in
- x86-* | i*86-*)
- ;;
- *)
- os=-nto$os
- ;;
- esac
- ;;
- -nto-qnx*)
- ;;
- -nto*)
- os=`echo $os | sed -e 's|nto|nto-qnx|'`
- ;;
- -sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \
- | -windows* | -osx | -abug | -netware* | -os9* | -beos* | -haiku* \
- | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*)
- ;;
- -mac*)
- os=`echo $os | sed -e 's|mac|macos|'`
- ;;
- -linux-dietlibc)
- os=-linux-dietlibc
- ;;
- -linux*)
- os=`echo $os | sed -e 's|linux|linux-gnu|'`
- ;;
- -sunos5*)
- os=`echo $os | sed -e 's|sunos5|solaris2|'`
- ;;
- -sunos6*)
- os=`echo $os | sed -e 's|sunos6|solaris3|'`
- ;;
- -opened*)
- os=-openedition
- ;;
- -os400*)
- os=-os400
- ;;
- -wince*)
- os=-wince
- ;;
- -osfrose*)
- os=-osfrose
- ;;
- -osf*)
- os=-osf
- ;;
- -utek*)
- os=-bsd
- ;;
- -dynix*)
- os=-bsd
- ;;
- -acis*)
- os=-aos
- ;;
- -atheos*)
- os=-atheos
- ;;
- -syllable*)
- os=-syllable
- ;;
- -386bsd)
- os=-bsd
- ;;
- -ctix* | -uts*)
- os=-sysv
- ;;
- -nova*)
- os=-rtmk-nova
- ;;
- -ns2 )
- os=-nextstep2
- ;;
- -nsk*)
- os=-nsk
- ;;
- # Preserve the version number of sinix5.
- -sinix5.*)
- os=`echo $os | sed -e 's|sinix|sysv|'`
- ;;
- -sinix*)
- os=-sysv4
- ;;
- -tpf*)
- os=-tpf
- ;;
- -triton*)
- os=-sysv3
- ;;
- -oss*)
- os=-sysv3
- ;;
- -svr4)
- os=-sysv4
- ;;
- -svr3)
- os=-sysv3
- ;;
- -sysvr4)
- os=-sysv4
- ;;
- # This must come after -sysvr4.
- -sysv*)
- ;;
- -ose*)
- os=-ose
- ;;
- -es1800*)
- os=-ose
- ;;
- -xenix)
- os=-xenix
- ;;
- -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
- os=-mint
- ;;
- -aros*)
- os=-aros
- ;;
- -kaos*)
- os=-kaos
- ;;
- -zvmoe)
- os=-zvmoe
- ;;
- -dicos*)
- os=-dicos
- ;;
- -nacl*)
- ;;
- -none)
- ;;
- *)
- # Get rid of the `-' at the beginning of $os.
- os=`echo $os | sed 's/[^-]*-//'`
- echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2
- exit 1
- ;;
-esac
-else
-
-# Here we handle the default operating systems that come with various machines.
-# The value should be what the vendor currently ships out the door with their
-# machine or put another way, the most popular os provided with the machine.
-
-# Note that if you're going to try to match "-MANUFACTURER" here (say,
-# "-sun"), then you have to tell the case statement up towards the top
-# that MANUFACTURER isn't an operating system. Otherwise, code above
-# will signal an error saying that MANUFACTURER isn't an operating
-# system, and we'll never get to this point.
-
-case $basic_machine in
- score-*)
- os=-elf
- ;;
- spu-*)
- os=-elf
- ;;
- *-acorn)
- os=-riscix1.2
- ;;
- arm*-rebel)
- os=-linux
- ;;
- arm*-semi)
- os=-aout
- ;;
- c4x-* | tic4x-*)
- os=-coff
- ;;
- tic54x-*)
- os=-coff
- ;;
- tic55x-*)
- os=-coff
- ;;
- tic6x-*)
- os=-coff
- ;;
- # This must come before the *-dec entry.
- pdp10-*)
- os=-tops20
- ;;
- pdp11-*)
- os=-none
- ;;
- *-dec | vax-*)
- os=-ultrix4.2
- ;;
- m68*-apollo)
- os=-domain
- ;;
- i386-sun)
- os=-sunos4.0.2
- ;;
- m68000-sun)
- os=-sunos3
- # This also exists in the configure program, but was not the
- # default.
- # os=-sunos4
- ;;
- m68*-cisco)
- os=-aout
- ;;
- mep-*)
- os=-elf
- ;;
- mips*-cisco)
- os=-elf
- ;;
- mips*-*)
- os=-elf
- ;;
- or32-*)
- os=-coff
- ;;
- *-tti) # must be before sparc entry or we get the wrong os.
- os=-sysv3
- ;;
- sparc-* | *-sun)
- os=-sunos4.1.1
- ;;
- *-be)
- os=-beos
- ;;
- *-haiku)
- os=-haiku
- ;;
- *-ibm)
- os=-aix
- ;;
- *-knuth)
- os=-mmixware
- ;;
- *-wec)
- os=-proelf
- ;;
- *-winbond)
- os=-proelf
- ;;
- *-oki)
- os=-proelf
- ;;
- *-hp)
- os=-hpux
- ;;
- *-hitachi)
- os=-hiux
- ;;
- i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent)
- os=-sysv
- ;;
- *-cbm)
- os=-amigaos
- ;;
- *-dg)
- os=-dgux
- ;;
- *-dolphin)
- os=-sysv3
- ;;
- m68k-ccur)
- os=-rtu
- ;;
- m88k-omron*)
- os=-luna
- ;;
- *-next )
- os=-nextstep
- ;;
- *-sequent)
- os=-ptx
- ;;
- *-crds)
- os=-unos
- ;;
- *-ns)
- os=-genix
- ;;
- i370-*)
- os=-mvs
- ;;
- *-next)
- os=-nextstep3
- ;;
- *-gould)
- os=-sysv
- ;;
- *-highlevel)
- os=-bsd
- ;;
- *-encore)
- os=-bsd
- ;;
- *-sgi)
- os=-irix
- ;;
- *-siemens)
- os=-sysv4
- ;;
- *-masscomp)
- os=-rtu
- ;;
- f30[01]-fujitsu | f700-fujitsu)
- os=-uxpv
- ;;
- *-rom68k)
- os=-coff
- ;;
- *-*bug)
- os=-coff
- ;;
- *-apple)
- os=-macos
- ;;
- *-atari*)
- os=-mint
- ;;
- *)
- os=-none
- ;;
-esac
-fi
-
-# Here we handle the case where we know the os, and the CPU type, but not the
-# manufacturer. We pick the logical manufacturer.
-vendor=unknown
-case $basic_machine in
- *-unknown)
- case $os in
- -riscix*)
- vendor=acorn
- ;;
- -sunos*)
- vendor=sun
- ;;
- -cnk*|-aix*)
- vendor=ibm
- ;;
- -beos*)
- vendor=be
- ;;
- -hpux*)
- vendor=hp
- ;;
- -mpeix*)
- vendor=hp
- ;;
- -hiux*)
- vendor=hitachi
- ;;
- -unos*)
- vendor=crds
- ;;
- -dgux*)
- vendor=dg
- ;;
- -luna*)
- vendor=omron
- ;;
- -genix*)
- vendor=ns
- ;;
- -mvs* | -opened*)
- vendor=ibm
- ;;
- -os400*)
- vendor=ibm
- ;;
- -ptx*)
- vendor=sequent
- ;;
- -tpf*)
- vendor=ibm
- ;;
- -vxsim* | -vxworks* | -windiss*)
- vendor=wrs
- ;;
- -aux*)
- vendor=apple
- ;;
- -hms*)
- vendor=hitachi
- ;;
- -mpw* | -macos*)
- vendor=apple
- ;;
- -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
- vendor=atari
- ;;
- -vos*)
- vendor=stratus
- ;;
- esac
- basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"`
- ;;
-esac
-
-echo $basic_machine$os
-exit
-
-# Local variables:
-# eval: (add-hook 'write-file-hooks 'time-stamp)
-# time-stamp-start: "timestamp='"
-# time-stamp-format: "%:y-%02m-%02d"
-# time-stamp-end: "'"
-# End:
diff --git a/volk/config/.gitignore b/volk/config/.gitignore
deleted file mode 100644
index 6330cd1b6..000000000
--- a/volk/config/.gitignore
+++ /dev/null
@@ -1,16 +0,0 @@
-*.cache
-/*.la
-/*.lo
-/*.pc
-/.deps
-/.la
-/.libs
-/.lo
-/Makefile
-/Makefile.in
-/libtool.m4
-/ltoptions.m4
-/ltsugar.m4
-/ltversion.m4
-/lt~obsolete.m4
-/lv_set_simd_flags.m4
diff --git a/volk/config/Makefile.am b/volk/config/Makefile.am
deleted file mode 100644
index d4786f83a..000000000
--- a/volk/config/Makefile.am
+++ /dev/null
@@ -1,58 +0,0 @@
-#
-# Copyright 2001 Free Software Foundation, Inc.
-#
-# This file is part of GNU Radio
-#
-# GNU Radio is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 3, or (at your option)
-# any later version.
-#
-# GNU Radio is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with GNU Radio; see the file COPYING. If not, write to
-# the Free Software Foundation, Inc., 51 Franklin Street,
-# Boston, MA 02110-1301, USA.
-#
-
-include $(top_srcdir)/Makefile.common
-
-# Install m4 macros in this directory
-m4datadir = $(datadir)/aclocal
-
-# List your m4 macros here
-m4macros = \
- acx_pthread.m4 \
- ax_boost_base.m4 \
- ax_boost_unit_test_framework.m4 \
- bnv_have_qt.m4 \
- gr_lib64.m4 \
- gr_libgnuradio_core_extra_ldflags.m4 \
- gr_no_undefined.m4 \
- gr_omnithread.m4 \
- gr_pwin32.m4 \
- gr_set_md_cpu.m4 \
- lv_configure.m4 \
- gr_sysv_shm.m4 \
- lf_cc.m4 \
- lf_cxx.m4 \
- lf_warnings.m4 \
- lf_x11.m4 \
- $(top_gendir)/config/lv_set_simd_flags.m4 \
- mkstemp.m4 \
- onceonly.m4 \
- pkg.m4 \
- orc.m4 \
- gcc_version_workaround.m4
-
-
-
-
-# Don't install m4 macros anymore
-# m4data_DATA = $(m4macros)
-
-EXTRA_DIST = $(m4macros)
diff --git a/volk/config/acx_pthread.m4 b/volk/config/acx_pthread.m4
deleted file mode 100644
index eb09f5acc..000000000
--- a/volk/config/acx_pthread.m4
+++ /dev/null
@@ -1,275 +0,0 @@
-# ===========================================================================
-# http://autoconf-archive.cryp.to/acx_pthread.html
-# ===========================================================================
-#
-# SYNOPSIS
-#
-# ACX_PTHREAD([ACTION-IF-FOUND[, ACTION-IF-NOT-FOUND]])
-#
-# DESCRIPTION
-#
-# This macro figures out how to build C programs using POSIX threads. It
-# sets the PTHREAD_LIBS output variable to the threads library and linker
-# flags, and the PTHREAD_CFLAGS output variable to any special C compiler
-# flags that are needed. (The user can also force certain compiler
-# flags/libs to be tested by setting these environment variables.)
-#
-# Also sets PTHREAD_CC to any special C compiler that is needed for
-# multi-threaded programs (defaults to the value of CC otherwise). (This
-# is necessary on AIX to use the special cc_r compiler alias.)
-#
-# NOTE: You are assumed to not only compile your program with these flags,
-# but also link it with them as well. e.g. you should link with
-# $PTHREAD_CC $CFLAGS $PTHREAD_CFLAGS $LDFLAGS ... $PTHREAD_LIBS $LIBS
-#
-# If you are only building threads programs, you may wish to use these
-# variables in your default LIBS, CFLAGS, and CC:
-#
-# LIBS="$PTHREAD_LIBS $LIBS"
-# CFLAGS="$CFLAGS $PTHREAD_CFLAGS"
-# CC="$PTHREAD_CC"
-#
-# In addition, if the PTHREAD_CREATE_JOINABLE thread-attribute constant
-# has a nonstandard name, defines PTHREAD_CREATE_JOINABLE to that name
-# (e.g. PTHREAD_CREATE_UNDETACHED on AIX).
-#
-# ACTION-IF-FOUND is a list of shell commands to run if a threads library
-# is found, and ACTION-IF-NOT-FOUND is a list of commands to run it if it
-# is not found. If ACTION-IF-FOUND is not specified, the default action
-# will define HAVE_PTHREAD.
-#
-# Please let the authors know if this macro fails on any platform, or if
-# you have any other suggestions or comments. This macro was based on work
-# by SGJ on autoconf scripts for FFTW (http://www.fftw.org/) (with help
-# from M. Frigo), as well as ac_pthread and hb_pthread macros posted by
-# Alejandro Forero Cuervo to the autoconf macro repository. We are also
-# grateful for the helpful feedback of numerous users.
-#
-# LAST MODIFICATION
-#
-# 2008-04-12
-#
-# COPYLEFT
-#
-# Copyright (c) 2008 Steven G. Johnson <stevenj@alum.mit.edu>
-#
-# This program is free software: you can redistribute it and/or modify it
-# under the terms of the GNU General Public License as published by the
-# Free Software Foundation, either version 3 of the License, or (at your
-# option) any later version.
-#
-# This program is distributed in the hope that it will be useful, but
-# WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
-# Public License for more details.
-#
-# You should have received a copy of the GNU General Public License along
-# with this program. If not, see <http://www.gnu.org/licenses/>.
-#
-# As a special exception, the respective Autoconf Macro's copyright owner
-# gives unlimited permission to copy, distribute and modify the configure
-# scripts that are the output of Autoconf when processing the Macro. You
-# need not follow the terms of the GNU General Public License when using
-# or distributing such scripts, even though portions of the text of the
-# Macro appear in them. The GNU General Public License (GPL) does govern
-# all other use of the material that constitutes the Autoconf Macro.
-#
-# This special exception to the GPL applies to versions of the Autoconf
-# Macro released by the Autoconf Macro Archive. When you make and
-# distribute a modified version of the Autoconf Macro, you may extend this
-# special exception to the GPL to apply to your modified version as well.
-
-AC_DEFUN([ACX_PTHREAD], [
-AC_REQUIRE([AC_CANONICAL_HOST])
-AC_LANG_SAVE
-AC_LANG_C
-acx_pthread_ok=no
-
-# We used to check for pthread.h first, but this fails if pthread.h
-# requires special compiler flags (e.g. on True64 or Sequent).
-# It gets checked for in the link test anyway.
-
-# First of all, check if the user has set any of the PTHREAD_LIBS,
-# etcetera environment variables, and if threads linking works using
-# them:
-if test x"$PTHREAD_LIBS$PTHREAD_CFLAGS" != x; then
- save_CFLAGS="$CFLAGS"
- CFLAGS="$CFLAGS $PTHREAD_CFLAGS"
- save_LIBS="$LIBS"
- LIBS="$PTHREAD_LIBS $LIBS"
- AC_MSG_CHECKING([for pthread_join in LIBS=$PTHREAD_LIBS with CFLAGS=$PTHREAD_CFLAGS])
- AC_TRY_LINK_FUNC(pthread_join, acx_pthread_ok=yes)
- AC_MSG_RESULT($acx_pthread_ok)
- if test x"$acx_pthread_ok" = xno; then
- PTHREAD_LIBS=""
- PTHREAD_CFLAGS=""
- fi
- LIBS="$save_LIBS"
- CFLAGS="$save_CFLAGS"
-fi
-
-# We must check for the threads library under a number of different
-# names; the ordering is very important because some systems
-# (e.g. DEC) have both -lpthread and -lpthreads, where one of the
-# libraries is broken (non-POSIX).
-
-# Create a list of thread flags to try. Items starting with a "-" are
-# C compiler flags, and other items are library names, except for "none"
-# which indicates that we try without any flags at all, and "pthread-config"
-# which is a program returning the flags for the Pth emulation library.
-
-acx_pthread_flags="pthreads none -Kthread -kthread lthread -pthread -pthreads -mthreads pthread --thread-safe -mt pthread-config"
-
-# The ordering *is* (sometimes) important. Some notes on the
-# individual items follow:
-
-# pthreads: AIX (must check this before -lpthread)
-# none: in case threads are in libc; should be tried before -Kthread and
-# other compiler flags to prevent continual compiler warnings
-# -Kthread: Sequent (threads in libc, but -Kthread needed for pthread.h)
-# -kthread: FreeBSD kernel threads (preferred to -pthread since SMP-able)
-# lthread: LinuxThreads port on FreeBSD (also preferred to -pthread)
-# -pthread: Linux/gcc (kernel threads), BSD/gcc (userland threads)
-# -pthreads: Solaris/gcc
-# -mthreads: Mingw32/gcc, Lynx/gcc
-# -mt: Sun Workshop C (may only link SunOS threads [-lthread], but it
-# doesn't hurt to check since this sometimes defines pthreads too;
-# also defines -D_REENTRANT)
-# ... -mt is also the pthreads flag for HP/aCC
-# pthread: Linux, etcetera
-# --thread-safe: KAI C++
-# pthread-config: use pthread-config program (for GNU Pth library)
-
-case "${host_cpu}-${host_os}" in
- *solaris*)
-
- # On Solaris (at least, for some versions), libc contains stubbed
- # (non-functional) versions of the pthreads routines, so link-based
- # tests will erroneously succeed. (We need to link with -pthreads/-mt/
- # -lpthread.) (The stubs are missing pthread_cleanup_push, or rather
- # a function called by this macro, so we could check for that, but
- # who knows whether they'll stub that too in a future libc.) So,
- # we'll just look for -pthreads and -lpthread first:
-
- acx_pthread_flags="-pthreads pthread -mt -pthread $acx_pthread_flags"
- ;;
-esac
-
-if test x"$acx_pthread_ok" = xno; then
-for flag in $acx_pthread_flags; do
-
- case $flag in
- none)
- AC_MSG_CHECKING([whether pthreads work without any flags])
- ;;
-
- -*)
- AC_MSG_CHECKING([whether pthreads work with $flag])
- PTHREAD_CFLAGS="$flag"
- ;;
-
- pthread-config)
- AC_CHECK_PROG(acx_pthread_config, pthread-config, yes, no)
- if test x"$acx_pthread_config" = xno; then continue; fi
- PTHREAD_CFLAGS="`pthread-config --cflags`"
- PTHREAD_LIBS="`pthread-config --ldflags` `pthread-config --libs`"
- ;;
-
- *)
- AC_MSG_CHECKING([for the pthreads library -l$flag])
- PTHREAD_LIBS="-l$flag"
- ;;
- esac
-
- save_LIBS="$LIBS"
- save_CFLAGS="$CFLAGS"
- LIBS="$PTHREAD_LIBS $LIBS"
- CFLAGS="$CFLAGS $PTHREAD_CFLAGS"
-
- # Check for various functions. We must include pthread.h,
- # since some functions may be macros. (On the Sequent, we
- # need a special flag -Kthread to make this header compile.)
- # We check for pthread_join because it is in -lpthread on IRIX
- # while pthread_create is in libc. We check for pthread_attr_init
- # due to DEC craziness with -lpthreads. We check for
- # pthread_cleanup_push because it is one of the few pthread
- # functions on Solaris that doesn't have a non-functional libc stub.
- # We try pthread_create on general principles.
- AC_TRY_LINK([#include <pthread.h>],
- [pthread_t th; pthread_join(th, 0);
- pthread_attr_init(0); pthread_cleanup_push(0, 0);
- pthread_create(0,0,0,0); pthread_cleanup_pop(0); ],
- [acx_pthread_ok=yes])
-
- LIBS="$save_LIBS"
- CFLAGS="$save_CFLAGS"
-
- AC_MSG_RESULT($acx_pthread_ok)
- if test "x$acx_pthread_ok" = xyes; then
- break;
- fi
-
- PTHREAD_LIBS=""
- PTHREAD_CFLAGS=""
-done
-fi
-
-# Various other checks:
-if test "x$acx_pthread_ok" = xyes; then
- save_LIBS="$LIBS"
- LIBS="$PTHREAD_LIBS $LIBS"
- save_CFLAGS="$CFLAGS"
- CFLAGS="$CFLAGS $PTHREAD_CFLAGS"
-
- # Detect AIX lossage: JOINABLE attribute is called UNDETACHED.
- AC_MSG_CHECKING([for joinable pthread attribute])
- attr_name=unknown
- for attr in PTHREAD_CREATE_JOINABLE PTHREAD_CREATE_UNDETACHED; do
- AC_TRY_LINK([#include <pthread.h>], [int attr=$attr; return attr;],
- [attr_name=$attr; break])
- done
- AC_MSG_RESULT($attr_name)
- if test "$attr_name" != PTHREAD_CREATE_JOINABLE; then
- AC_DEFINE_UNQUOTED(PTHREAD_CREATE_JOINABLE, $attr_name,
- [Define to necessary symbol if this constant
- uses a non-standard name on your system.])
- fi
-
- AC_MSG_CHECKING([if more special flags are required for pthreads])
- flag=no
- case "${host_cpu}-${host_os}" in
- *-aix* | *-freebsd* | *-darwin*) flag="-D_THREAD_SAFE";;
- *solaris* | *-osf* | *-hpux*) flag="-D_REENTRANT";;
- esac
- AC_MSG_RESULT(${flag})
- if test "x$flag" != xno; then
- PTHREAD_CFLAGS="$flag $PTHREAD_CFLAGS"
- fi
-
- LIBS="$save_LIBS"
- CFLAGS="$save_CFLAGS"
-
- # More AIX lossage: must compile with xlc_r or cc_r
- if test x"$GCC" != xyes; then
- AC_CHECK_PROGS(PTHREAD_CC, xlc_r cc_r, ${CC})
- else
- PTHREAD_CC=$CC
- fi
-else
- PTHREAD_CC="$CC"
-fi
-
-AC_SUBST(PTHREAD_LIBS)
-AC_SUBST(PTHREAD_CFLAGS)
-AC_SUBST(PTHREAD_CC)
-
-# Finally, execute ACTION-IF-FOUND/ACTION-IF-NOT-FOUND:
-if test x"$acx_pthread_ok" = xyes; then
- ifelse([$1],,AC_DEFINE(HAVE_PTHREAD,1,[Define if you have POSIX threads libraries and header files.]),[$1])
- :
-else
- acx_pthread_ok=no
- $2
-fi
-AC_LANG_RESTORE
-])dnl ACX_PTHREAD
diff --git a/volk/config/ax_boost_base.m4 b/volk/config/ax_boost_base.m4
deleted file mode 100644
index f2a7f6e83..000000000
--- a/volk/config/ax_boost_base.m4
+++ /dev/null
@@ -1,334 +0,0 @@
-# ===========================================================================
-# http://autoconf-archive.cryp.to/ax_boost_base.html
-# ===========================================================================
-#
-# SYNOPSIS
-#
-# AX_BOOST_BASE([MINIMUM-VERSION])
-#
-# DESCRIPTION
-#
-# Test for the Boost C++ libraries of a particular version (or newer)
-#
-# If no path to the installed boost library is given the macro searchs
-# under /usr, /usr/local, /opt and /opt/local and evaluates the
-# $BOOST_ROOT environment variable. Further documentation is available at
-# <http://randspringer.de/boost/index.html>.
-#
-# This macro calls:
-#
-# AC_SUBST(BOOST_CPPFLAGS) / AC_SUBST(BOOST_LDFLAGS)
-#
-# And sets:
-#
-# HAVE_BOOST
-#
-# LAST MODIFICATION
-#
-# 2008-04-12
-#
-# COPYLEFT
-#
-# Copyright (c) 2008 Thomas Porschberg <thomas@randspringer.de>
-# Copyright (c) 2008 Free Software Foundation, Inc.
-#
-# Copying and distribution of this file, with or without modification, are
-# permitted in any medium without royalty provided the copyright notice
-# and this notice are preserved.
-
-AC_DEFUN([AX_BOOST_BASE],
-[
-AC_REQUIRE([GR_LIB64])
-AC_ARG_WITH([boost],
- AS_HELP_STRING([--with-boost@<:@=DIR@:>@],
- [use boost (default is yes) - it is possible to specify the root directory for boost (optional)]),
- [
- if test "$withval" = "no"; then
- want_boost="no"
- elif test "$withval" = "yes"; then
- want_boost="yes"
- ac_boost_path=""
- else
- want_boost="yes"
- ac_boost_path="$withval"
- fi
- ],
- [want_boost="yes"])
-
-
-AC_ARG_WITH([boost-libdir],
- AS_HELP_STRING([--with-boost-libdir=LIB_DIR],
- [Force given directory for boost libraries. Note that this
- will overwrite library path detection, so use this parameter
- only if default library detection fails and you know exactly
- where your boost libraries are located.]),
- [
- if test -d $withval
- then
- ac_boost_lib_path="$withval"
- else
- AC_MSG_ERROR(--with-boost-libdir expected directory name)
- fi
- ],
- [ac_boost_lib_path=""]
-)
-
-if test "x$want_boost" = "xyes"; then
- boost_lib_version_req=ifelse([$1], ,1.20.0,$1)
- boost_lib_version_req_shorten=`expr $boost_lib_version_req : '\([[0-9]]*\.[[0-9]]*\)'`
- boost_lib_version_req_major=`expr $boost_lib_version_req : '\([[0-9]]*\)'`
- boost_lib_version_req_minor=`expr $boost_lib_version_req : '[[0-9]]*\.\([[0-9]]*\)'`
- boost_lib_version_req_sub_minor=`expr $boost_lib_version_req : '[[0-9]]*\.[[0-9]]*\.\([[0-9]]*\)'`
- if test "x$boost_lib_version_req_sub_minor" = "x" ; then
- boost_lib_version_req_sub_minor="0"
- fi
- WANT_BOOST_VERSION=`expr $boost_lib_version_req_major \* 100000 \+ $boost_lib_version_req_minor \* 100 \+ $boost_lib_version_req_sub_minor`
- AC_MSG_CHECKING(for boost >= $boost_lib_version_req)
- succeeded=no
-
- dnl first we check the system location for boost libraries
- dnl this location ist chosen if boost libraries are installed with the --layout=system option
- dnl or if you install boost with RPM
- if test "$ac_boost_path" != ""; then
- dnl Look first where we think they ought to be, accounting for a possible "64" suffix on lib.
- dnl If that directory doesn't exist, fall back to the default behavior
- if test -d "$ac_boost_path/lib${gr_libdir_suffix}"; then
- BOOST_LDFLAGS="-L$ac_boost_path/lib${gr_libdir_suffix}"
- else
- BOOST_LDFLAGS="-L$ac_boost_path/lib"
- fi
- BOOST_CPPFLAGS="-I$ac_boost_path/include"
- else
- for ac_boost_path_tmp in /usr /usr/local /opt /opt/local ; do
- if test -d "$ac_boost_path_tmp/include/boost" && test -r "$ac_boost_path_tmp/include/boost"; then
- dnl Look first where we think they ought to be, accounting for a possible "64" suffix on lib.
- dnl If that directory doesn't exist, fall back to the default behavior
- if test -d "$ac_boost_path_tmp/lib${gr_libdir_suffix}"; then
- BOOST_LDFLAGS="-L$ac_boost_path_tmp/lib${gr_libdir_suffix}"
- else
- BOOST_LDFLAGS="-L$ac_boost_path_tmp/lib"
- fi
- BOOST_CPPFLAGS="-I$ac_boost_path_tmp/include"
- break;
- fi
- done
- fi
-
- dnl overwrite ld flags if we have required special directory with
- dnl --with-boost-libdir parameter
- if test "$ac_boost_lib_path" != ""; then
- BOOST_LDFLAGS="-L$ac_boost_lib_path"
- fi
-
- CPPFLAGS_SAVED="$CPPFLAGS"
- CPPFLAGS="$CPPFLAGS $BOOST_CPPFLAGS"
- export CPPFLAGS
-
- LDFLAGS_SAVED="$LDFLAGS"
- LDFLAGS="$LDFLAGS $BOOST_LDFLAGS"
- export LDFLAGS
-
- AC_LANG_PUSH(C++)
- AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
- @%:@include <boost/version.hpp>
- ]], [[
- #if BOOST_VERSION >= $WANT_BOOST_VERSION
- // Everything is okay
- #else
- # error Boost version is too old
- #endif
- ]])],[AC_MSG_RESULT(yes)
- succeeded=yes
- found_system=yes
- ],
- [])
- AC_LANG_POP([C++])
- CPPFLAGS="$CPPFLAGS_SAVED"
- LDFLAGS="$LDFLAGS_SAVED"
-
-
- dnl if we found no boost with system layout we search for boost libraries
- dnl built and installed without the --layout=system option
- if test "$succeeded" != "yes"; then
- _version=0
-
- if test "$ac_boost_path" != ""; then
- path_list="$ac_boost_path"
- else
- path_list="/usr /usr/local /opt /opt/local"
- fi
- for ac_boost_path in $path_list ; do
- if test -d "$ac_boost_path" && test -r "$ac_boost_path"; then
- for i in `ls -d $ac_boost_path/include/boost-* 2>/dev/null`; do
- _version_tmp=`echo $i | sed "s#$ac_boost_path##" | sed 's,/include/boost-,,; s,_,.,'`
- V_CHECK=`expr $_version_tmp \> $_version`
- if test "$V_CHECK" = "1" ; then
- _version=$_version_tmp
- best_path=$ac_boost_path
- fi
- done
- fi
- done
-
- VERSION_UNDERSCORE=`echo $_version | sed 's/\./_/'`
- BOOST_CPPFLAGS="-I$best_path/include/boost-$VERSION_UNDERSCORE"
-
- if test "$ac_boost_lib_path" = ""; then
- dnl Look first where we think they ought to be, accounting for a possible "64" suffix on lib.
- dnl If that directory doesn't exist, fall back to the default behavior
- if test -d "$best_path/lib${gr_libdir_suffix}"; then
- BOOST_LDFLAGS="-L$best_path/lib${gr_libdir_suffix}"
- else
- BOOST_LDFLAGS="-L$best_path/lib"
- fi
- fi
-
- CPPFLAGS="$CPPFLAGS $BOOST_CPPFLAGS"
- export CPPFLAGS
- LDFLAGS="$LDFLAGS $BOOST_LDFLAGS"
- export LDFLAGS
-
- AC_LANG_PUSH(C++)
- AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
- @%:@include <boost/version.hpp>
- ]], [[
- #if BOOST_VERSION >= $WANT_BOOST_VERSION
- // Everything is okay
- #else
- # error Boost version is too old
- #endif
- ]])],[AC_MSG_RESULT(yes)
- succeeded=yes
- found_system=yes
- ],
- [])
- AC_LANG_POP([C++])
- CPPFLAGS="$CPPFLAGS_SAVED"
- LDFLAGS="$LDFLAGS_SAVED"
- fi
-
- if test "$succeeded" != "yes" ; then
- AC_MSG_RESULT([no])
- if test "$_version" = "0" ; then
- AC_MSG_ERROR([[we could not detect the boost libraries (version $boost_lib_version_req_shorten or higher).
-If you are sure you have boost installed, then check your version number looking in <boost/version.hpp>.]])
- else
- AC_MSG_ERROR([your boost libraries seem to old (version $_version).])
- fi
- else
- AC_SUBST(BOOST_CPPFLAGS)
- AC_SUBST(BOOST_LDFLAGS)
- AC_DEFINE(HAVE_BOOST,1,[Define if the Boost headers are available])
- fi
-fi
-])
-
-dnl
-dnl Macros used by the boost items that need libraries.
-dnl
-
-dnl $1 is unit name. E.g., boost_thread
-AC_DEFUN([_AX_BOOST_CHECK_LIB],[
- _AX_BOOST_CHECK_LIB_($1,HAVE_[]m4_toupper($1),m4_toupper($1)_LIB)
-])
-
-dnl $1 is unit name. E.g., boost_thread
-dnl $2 is AC_DEFINE name. E.g., HAVE_BOOST_THREAD
-dnl $3 is lib var name. E.g., BOOST_THREAD_LIB
-AC_DEFUN([_AX_BOOST_CHECK_LIB_],[
- AC_LANG_PUSH([C++])
- AC_DEFINE($2,1,[Define if the $1 library is available])
- BOOSTLIBDIR=`echo $BOOST_LDFLAGS | sed -e 's/@<:@^\/@:>@*//'`
-
- dnl See if we can find a usable library
- link_ok="no"
- if test "$ax_boost_user_lib" != ""; then
- dnl use what the user supplied
- for ax_lib in $ax_boost_user_lib $1-${ax_boost_user_lib}; do
- AC_CHECK_LIB($ax_lib, exit,
- [$3="-l$ax_lib"; AC_SUBST($3) link_ok="yes"; break])
- done
- else
- dnl Look in BOOSTLIBDIR for possible candidates
- head=$BOOSTLIBDIR/lib[]$1
- for f in ${head}*.so* ${head}*.a* ${head}*.dll* ${head}*.dylib; do
- dnl echo 1: $f
- case $f in
- *\**) continue;;
- esac
- f=`echo $f | sed -e 's,.*/,,' -e 's,^lib,,'`
- dnl echo 2: $f
- f=`echo $f | sed -e 's,\($1.*\)\.so.*$,\1,' -e 's,\($1.*\)\.a.*$,\1,' -e 's,\($1.*\)\.dll.*$,\1,' -e 's,\($1.*\)\.dylib.*$,\1,'`
- dnl echo 3: $f
-
- ax_lib=$f
- AC_CHECK_LIB($ax_lib, exit,
- [$3="-l$ax_lib"; AC_SUBST($3) link_ok="yes"; break])
- done
- fi
-
- if test "$link_ok" != "yes"; then
- AC_MSG_ERROR([Could not link against lib[$1]!])
- fi
- AC_LANG_POP([C++])
-])
-
-
-dnl $1 is unit name. E.g., boost_thread
-AC_DEFUN([_AX_BOOST_WITH],[
- _AX_BOOST_WITH_([$1], [m4_bpatsubst($1,_,-)])
-])
-
-dnl $1 is unit name. E.g., boost_thread
-dnl $2 is hyphenated unit name. E.g., boost-thread
-AC_DEFUN([_AX_BOOST_WITH_],[
- AC_ARG_WITH([$2],
- AC_HELP_STRING([--with-$2@<:@=special-lib@:>@],
- [Use the m4_substr($1,6) library from boost. It is possible to specify a certain
- library to the linker. E.g., --with-$2=$1-gcc41-mt-1_35]),
- [
- if test "$withval" = "no"; then
- want_boost="no"
- elif test "$withval" = "yes"; then
- want_boost="yes"
- ax_boost_user_lib=""
- else
- want_boost="yes"
- ax_boost_user_lib="$withval"
- fi
- ],
- [want_boost="yes"])
-])
-
-dnl $1 is unit name. E.g., boost_thread
-dnl $2 is AC_LANG_PROGRAM argument 1
-dnl $3 is AC_LANG_PROGRAM argument 2
-dnl $4 is cv variable name. E.g., ax_cv_boost_thread
-AC_DEFUN([_AX_BOOST_CHECK_],[
- _AX_BOOST_WITH([$1])
- if test "$want_boost" = "yes"; then
- AC_REQUIRE([AC_PROG_CC])
- AC_REQUIRE([AC_PROG_CXX])
- CPPFLAGS_SAVED="$CPPFLAGS"
- CPPFLAGS="$CPPFLAGS $BOOST_CPPFLAGS"
- LDFLAGS_SAVED="$LDFLAGS"
- LDFLAGS="$LDFLAGS $BOOST_LDFLAGS"
- AC_CACHE_CHECK([whether the boost::m4_substr([$1],6) includes are available], [$4],
- [AC_LANG_PUSH([C++])
- AC_COMPILE_IFELSE([AC_LANG_PROGRAM([$2],[$3])], [[$4]=yes], [[$4]=no])
- AC_LANG_POP([C++])
- ])
- if test "$[$4]" = "yes"; then
- _AX_BOOST_CHECK_LIB([$1])
- fi
- CPPFLAGS="$CPPFLAGS_SAVED"
- LDFLAGS="$LDFLAGS_SAVED"
- fi
-])
-
-dnl $1 is unit name. E.g., boost_thread
-dnl $2 is AC_LANG_PROGRAM argument 1
-dnl $3 is AC_LANG_PROGRAM argument 2
-AC_DEFUN([_AX_BOOST_CHECK],[
- _AX_BOOST_CHECK_([$1], [$2], [$3], [ax_cv_$1])
-])
diff --git a/volk/config/ax_boost_unit_test_framework.m4 b/volk/config/ax_boost_unit_test_framework.m4
deleted file mode 100644
index 73affccfd..000000000
--- a/volk/config/ax_boost_unit_test_framework.m4
+++ /dev/null
@@ -1,36 +0,0 @@
-#
-# SYNOPSIS
-#
-# AX_BOOST_UNIT_TEST_FRAMEWORK
-#
-# DESCRIPTION
-#
-# Test for Unit_Test_Framework library from the Boost C++ libraries. The
-# macro requires a preceding call to AX_BOOST_BASE.
-#
-# This macro calls:
-#
-# AC_SUBST(BOOST_UNIT_TEST_FRAMEWORK_LIB)
-#
-# And sets:
-#
-# HAVE_BOOST_UNIT_TEST_FRAMEWORK
-#
-# COPYLEFT
-#
-# Copyright (c) 2008 Thomas Porschberg <thomas@randspringer.de>
-# Copyright (c) 2008 Free Software Foundation, Inc.
-#
-# Copying and distribution of this file, with or without modification, are
-# permitted in any medium without royalty provided the copyright notice
-# and this notice are preserved.
-
-AC_DEFUN([AX_BOOST_UNIT_TEST_FRAMEWORK],
-[
- AC_REQUIRE([AX_BOOST_BASE])
- _AX_BOOST_CHECK([boost_unit_test_framework],
- [@%:@include <boost/test/unit_test.hpp>],
- [using boost::unit_test::test_suite;
- test_suite* test= BOOST_TEST_SUITE( "Unit test example 1" );
- return 0;])
-])
diff --git a/volk/config/bnv_have_qt.m4 b/volk/config/bnv_have_qt.m4
deleted file mode 100644
index 1469bfbfd..000000000
--- a/volk/config/bnv_have_qt.m4
+++ /dev/null
@@ -1,404 +0,0 @@
-dnl Available from the GNU Autoconf Macro Archive at:
-dnl http://www.gnu.org/software/ac-archive/htmldoc/bnv_have_qt.html
-dnl
-AC_DEFUN([BNV_HAVE_QT],
-[
- dnl THANKS! This code includes bug fixes by:
- dnl Tim McClarren.
-
- AC_REQUIRE([AC_PROG_CXX])
- AC_REQUIRE([AC_PATH_X])
- AC_REQUIRE([AC_PATH_XTRA])
-
- AC_MSG_CHECKING(for Qt)
-
- AC_ARG_WITH([Qt-dir],
- [ --with-Qt-dir=DIR DIR is equal to \$QTDIR if you have followed the
- installation instructions of Trolltech. Header
- files are in DIR/include, binary utilities are
- in DIR/bin and the library is in DIR/lib])
- AC_ARG_WITH([Qt-include-dir],
- [ --with-Qt-include-dir=DIR
- Qt header files are in DIR])
- AC_ARG_WITH([Qt-bin-dir],
- [ --with-Qt-bin-dir=DIR Qt utilities such as moc and uic are in DIR])
- AC_ARG_WITH([Qt-lib-dir],
- [ --with-Qt-lib-dir=DIR The Qt library is in DIR])
- AC_ARG_WITH([Qt-lib],
- [ --with-Qt-lib=LIB Use -lLIB to link with the Qt library])
- if test x"$with_Qt_dir" = x"no" ||
- test x"$with_Qt_include-dir" = x"no" ||
- test x"$with_Qt_bin_dir" = x"no" ||
- test x"$with_Qt_lib_dir" = x"no" ||
- test x"$with_Qt_lib" = x"no"; then
- # user disabled Qt. Leave cache alone.
- have_qt="User disabled Qt."
- else
- # "yes" is a bogus option
- if test x"$with_Qt_dir" = xyes; then
- with_Qt_dir=
- fi
- if test x"$with_Qt_include_dir" = xyes; then
- with_Qt_include_dir=
- fi
- if test x"$with_Qt_bin_dir" = xyes; then
- with_Qt_bin_dir=
- fi
- if test x"$with_Qt_lib_dir" = xyes; then
- with_Qt_lib_dir=
- fi
- if test x"$with_Qt_lib" = xyes; then
- with_Qt_lib=
- fi
- # No Qt unless we discover otherwise
- have_qt=no
- # Check whether we are requested to link with a specific version
- if test x"$with_Qt_lib" != x; then
- bnv_qt_lib="$with_Qt_lib"
- fi
- # Check whether we were supplied with an answer already
- if test x"$with_Qt_dir" != x; then
- have_qt=yes
- bnv_qt_dir="$with_Qt_dir"
- bnv_qt_include_dir="$with_Qt_dir/include"
- bnv_qt_bin_dir="$with_Qt_dir/bin"
- bnv_qt_lib_dir="$with_Qt_dir/lib"
- # Only search for the lib if the user did not define one already
- if test x"$bnv_qt_lib" = x; then
- bnv_qt_lib="`ls $bnv_qt_lib_dir/libqt* | sed -n 1p |
- sed s@$bnv_qt_lib_dir/lib@@ | [sed s@[.].*@@]`"
- fi
- bnv_qt_LIBS="-L$bnv_qt_lib_dir -l$bnv_qt_lib $X_PRE_LIBS $X_LIBS -lX11 -lXext -lXmu -lXt -lXi $X_EXTRA_LIBS"
- else
- # Use cached value or do search, starting with suggestions from
- # the command line
- AC_CACHE_VAL(bnv_cv_have_qt,
- [
- # We are not given a solution and there is no cached value.
- bnv_qt_dir=NO
- bnv_qt_include_dir=NO
- bnv_qt_lib_dir=NO
- if test x"$bnv_qt_lib" = x; then
- bnv_qt_lib=NO
- fi
- BNV_PATH_QT_DIRECT
- if test "$bnv_qt_dir" = NO ||
- test "$bnv_qt_include_dir" = NO ||
- test "$bnv_qt_lib_dir" = NO ||
- test "$bnv_qt_lib" = NO; then
- # Problem with finding complete Qt. Cache the known absence of Qt.
- bnv_cv_have_qt="have_qt=no"
- else
- # Record where we found Qt for the cache.
- bnv_cv_have_qt="have_qt=yes \
- bnv_qt_dir=$bnv_qt_dir \
- bnv_qt_include_dir=$bnv_qt_include_dir \
- bnv_qt_bin_dir=$bnv_qt_bin_dir \
- bnv_qt_LIBS=\"$bnv_qt_LIBS\""
- fi
- ])dnl
- eval "$bnv_cv_have_qt"
- fi # all $bnv_qt_* are set
- fi # $have_qt reflects the system status
- if test x"$have_qt" = xyes; then
- QT_CXXFLAGS="-I$bnv_qt_include_dir"
- QT_DIR="$bnv_qt_dir"
- QT_LIBS="$bnv_qt_LIBS"
- # If bnv_qt_dir is defined, utilities are expected to be in the
- # bin subdirectory
- if test x"$bnv_qt_dir" != x; then
- if test -x "$bnv_qt_dir/bin/uic"; then
- QT_UIC="$bnv_qt_dir/bin/uic"
- else
- # Old versions of Qt don't have uic
- QT_UIC=
- fi
- QT_MOC="$bnv_qt_dir/bin/moc"
- else
- # Or maybe we are told where to look for the utilities
- if test x"$bnv_qt_bin_dir" != x; then
- if test -x "$bnv_qt_bin_dir/uic"; then
- QT_UIC="$bnv_qt_bin_dir/uic"
- else
- # Old versions of Qt don't have uic
- QT_UIC=
- fi
- QT_MOC="$bnv_qt_bin_dir/moc"
- else
- # Last possibility is that they are in $PATH
- QT_UIC="`which uic`"
- QT_MOC="`which moc`"
- fi
- fi
- # All variables are defined, report the result
- AC_MSG_RESULT([$have_qt:
- QT_CXXFLAGS=$QT_CXXFLAGS
- QT_DIR=$QT_DIR
- QT_LIBS=$QT_LIBS
- QT_UIC=$QT_UIC
- QT_MOC=$QT_MOC])
- else
- # Qt was not found
- QT_CXXFLAGS=
- QT_DIR=
- QT_LIBS=
- QT_UIC=
- QT_MOC=
- AC_MSG_RESULT($have_qt)
- fi
- AC_SUBST(QT_CXXFLAGS)
- AC_SUBST(QT_DIR)
- AC_SUBST(QT_LIBS)
- AC_SUBST(QT_UIC)
- AC_SUBST(QT_MOC)
-
- #### Being paranoid:
- if test x"$have_qt" = xyes; then
- AC_MSG_CHECKING(correct functioning of Qt installation)
- AC_CACHE_VAL(bnv_cv_qt_test_result,
- [
- cat > bnv_qt_test.h << EOF
-#include <qobject.h>
-class Test : public QObject
-{
-Q_OBJECT
-public:
- Test() {}
- ~Test() {}
-public slots:
- void receive() {}
-signals:
- void send();
-};
-EOF
-
- cat > bnv_qt_main.$ac_ext << EOF
-#include "bnv_qt_test.h"
-#include <qapplication.h>
-int main( int argc, char **argv )
-{
- QApplication app( argc, argv );
- Test t;
- QObject::connect( &t, SIGNAL(send()), &t, SLOT(receive()) );
-}
-EOF
-
- bnv_cv_qt_test_result="failure"
- bnv_try_1="$QT_MOC bnv_qt_test.h -o moc_bnv_qt_test.$ac_ext >/dev/null 2>bnv_qt_test_1.out"
- AC_TRY_EVAL(bnv_try_1)
- bnv_err_1=`grep -v '^ *+' bnv_qt_test_1.out | grep -v "^bnv_qt_test.h\$"`
- if test x"$bnv_err_1" != x; then
- echo "$bnv_err_1" >&AC_FD_CC
- echo "configure: could not run $QT_MOC on:" >&AC_FD_CC
- cat bnv_qt_test.h >&AC_FD_CC
- else
- bnv_try_2="$CXX $QT_CXXFLAGS -c $CXXFLAGS -o moc_bnv_qt_test.o moc_bnv_qt_test.$ac_ext >/dev/null 2>bnv_qt_test_2.out"
- AC_TRY_EVAL(bnv_try_2)
- bnv_err_2=`grep -v '^ *+' bnv_qt_test_2.out | grep -v "^bnv_qt_test.{$ac_ext}\$"`
- if test x"$bnv_err_2" != x; then
- echo "$bnv_err_2" >&AC_FD_CC
- echo "configure: could not compile:" >&AC_FD_CC
- cat bnv_qt_test.$ac_ext >&AC_FD_CC
- else
- bnv_try_3="$CXX $QT_CXXFLAGS -c $CXXFLAGS -o bnv_qt_main.o bnv_qt_main.$ac_ext >/dev/null 2>bnv_qt_test_3.out"
- AC_TRY_EVAL(bnv_try_3)
- bnv_err_3=`grep -v '^ *+' bnv_qt_test_3.out | grep -v "^bnv_qt_main.{$ac_ext}\$"`
- if test x"$bnv_err_3" != x; then
- echo "$bnv_err_3" >&AC_FD_CC
- echo "configure: could not compile:" >&AC_FD_CC
- cat bnv_qt_main.$ac_ext >&AC_FD_CC
- else
- bnv_try_4="$CXX $QT_LIBS $LIBS -o bnv_qt_main bnv_qt_main.o moc_bnv_qt_test.o >/dev/null 2>bnv_qt_test_4.out"
- AC_TRY_EVAL(bnv_try_4)
- bnv_err_4=`grep -v '^ *+' bnv_qt_test_4.out`
- if test x"$bnv_err_4" != x; then
- echo "$bnv_err_4" >&AC_FD_CC
- else
- bnv_cv_qt_test_result="success"
- fi
- fi
- fi
- fi
- ])dnl AC_CACHE_VAL bnv_cv_qt_test_result
- AC_MSG_RESULT([$bnv_cv_qt_test_result]);
- if test x"$bnv_cv_qt_test_result" = "xfailure"; then
- # working Qt was not found
- QT_CXXFLAGS=
- QT_DIR=
- QT_LIBS=
- QT_UIC=
- QT_MOC=
- have_qt=no
- AC_MSG_WARN([Failed to find matching components of a complete
- Qt installation. Try using more options,
- see ./configure --help.])
- fi
-
- rm -f bnv_qt_test.h moc_bnv_qt_test.$ac_ext moc_bnv_qt_test.o \
- bnv_qt_main.$ac_ext bnv_qt_main.o bnv_qt_main \
- bnv_qt_test_1.out bnv_qt_test_2.out bnv_qt_test_3.out bnv_qt_test_4.out
- fi
-])
-
-dnl Internal subroutine of BNV_HAVE_QT
-dnl Set bnv_qt_dir bnv_qt_include_dir bnv_qt_bin_dir bnv_qt_lib_dir bnv_qt_lib
-dnl Copyright 2001 Bastiaan N. Veelo <Bastiaan.N.Veelo@immtek.ntnu.no>
-AC_DEFUN([BNV_PATH_QT_DIRECT],
-[
- ## Binary utilities ##
- if test x"$with_Qt_bin_dir" != x; then
- bnv_qt_bin_dir=$with_Qt_bin_dir
- fi
- ## Look for header files ##
- if test x"$with_Qt_include_dir" != x; then
- bnv_qt_include_dir="$with_Qt_include_dir"
- else
- # The following header file is expected to define QT_VERSION.
- qt_direct_test_header=qglobal.h
- # Look for the header file in a standard set of common directories.
- bnv_include_path_list="
- /usr/include
- `ls -dr /usr/include/qt* 2>/dev/null`
- `ls -dr /usr/lib/qt*/include 2>/dev/null`
- `ls -dr /usr/local/qt*/include 2>/dev/null`
- `ls -dr /opt/qt*/include 2>/dev/null`
- "
- for bnv_dir in $bnv_include_path_list; do
- if test -r "$bnv_dir/$qt_direct_test_header"; then
- bnv_dirs="$bnv_dirs $bnv_dir"
- fi
- done
- # Now look for the newest in this list
- bnv_prev_ver=0
- for bnv_dir in $bnv_dirs; do
- bnv_this_ver=`egrep -w '#define QT_VERSION' $bnv_dir/$qt_direct_test_header | sed s/'#define QT_VERSION'//`
- if expr $bnv_this_ver '>' $bnv_prev_ver > /dev/null; then
- bnv_qt_include_dir=$bnv_dir
- bnv_prev_ver=$bnv_this_ver
- fi
- done
- fi dnl Found header files.
-
- # Are these headers located in a traditional Trolltech installation?
- # That would be $bnv_qt_include_dir stripped from its last element:
- bnv_possible_qt_dir=`dirname $bnv_qt_include_dir`
- if test -x $bnv_possible_qt_dir/bin/moc &&
- ls $bnv_possible_qt_dir/lib/libqt* > /dev/null; then
- # Then the rest is a piece of cake
- bnv_qt_dir=$bnv_possible_qt_dir
- bnv_qt_bin_dir="$bnv_qt_dir/bin"
- bnv_qt_lib_dir="$bnv_qt_dir/lib"
- # Only look for lib if the user did not supply it already
- if test x"$bnv_qt_lib" = xNO; then
- bnv_qt_lib="`ls $bnv_qt_lib_dir/libqt* | sed -n 1p |
- sed s@$bnv_qt_lib_dir/lib@@ | [sed s@[.].*@@]`"
- fi
- bnv_qt_LIBS="-L$bnv_qt_lib_dir -l$bnv_qt_lib $X_PRE_LIBS $X_LIBS -lX11 -lXext -lXmu -lXt -lXi $X_EXTRA_LIBS"
- else
- # There is no valid definition for $QTDIR as Trolltech likes to see it
- bnv_qt_dir=
- ## Look for Qt library ##
- if test x"$with_Qt_lib_dir" != x; then
- bnv_qt_lib_dir="$with_Qt_lib_dir"
- # Only look for lib if the user did not supply it already
- if test x"$bnv_qt_lib" = xNO; then
- bnv_qt_lib="`ls $bnv_qt_lib_dir/libqt* | sed -n 1p |
- sed s@$bnv_qt_lib_dir/lib@@ | [sed s@[.].*@@]`"
- fi
- bnv_qt_LIBS="-L$bnv_qt_lib_dir -l$bnv_qt_lib $X_PRE_LIBS $X_LIBS -lX11 -lXext -lXmu -lXt -lXi $X_EXTRA_LIBS"
- else
- # Normally, when there is no traditional Trolltech installation,
- # the library is installed in a place where the linker finds it
- # automatically.
- # If the user did not define the library name, try with qt
- if test x"$bnv_qt_lib" = xNO; then
- bnv_qt_lib=qt
- fi
- qt_direct_test_header=qapplication.h
- qt_direct_test_main="
- int argc;
- char ** argv;
- QApplication app(argc,argv);
- "
- # See if we find the library without any special options.
- # Don't add top $LIBS permanently yet
- bnv_save_LIBS="$LIBS"
- LIBS="-l$bnv_qt_lib $X_PRE_LIBS $X_LIBS -lX11 -lXext -lXmu -lXt -lXi $X_EXTRA_LIBS"
- bnv_qt_LIBS="$LIBS"
- bnv_save_CXXFLAGS="$CXXFLAGS"
- CXXFLAGS="-I$bnv_qt_include_dir"
- AC_TRY_LINK([#include <$qt_direct_test_header>],
- $qt_direct_test_main,
- [
- # Success.
- # We can link with no special library directory.
- bnv_qt_lib_dir=
- ], [
- # That did not work. Try the multi-threaded version
- echo "Non-critical error, please neglect the above." >&AC_FD_CC
- bnv_qt_lib=qt-mt
- LIBS="-l$bnv_qt_lib $X_PRE_LIBS $X_LIBS -lX11 -lXext -lXmu -lXt -lXi $X_EXTRA_LIBS"
- AC_TRY_LINK([#include <$qt_direct_test_header>],
- $qt_direct_test_main,
- [
- # Success.
- # We can link with no special library directory.
- bnv_qt_lib_dir=
- ], [
- # That did not work. Try the OpenGL version
- echo "Non-critical error, please neglect the above." >&AC_FD_CC
- bnv_qt_lib=qt-gl
- LIBS="-l$bnv_qt_lib $X_PRE_LIBS $X_LIBS -lX11 -lXext -lXmu -lXt -lXi $X_EXTRA_LIBS"
- AC_TRY_LINK([#include <$qt_direct_test_header>],
- $qt_direct_test_main,
- [
- # Succes.
- # We can link with no special library directory.
- bnv_qt_lib_dir=
- ], [
- # That did not work. Maybe a library version I don't know about?
- echo "Non-critical error, please neglect the above." >&AC_FD_CC
- # Look for some Qt lib in a standard set of common directories.
- bnv_dir_list="
- `echo $bnv_qt_includes | sed ss/includess`
- /lib
- /usr/lib
- /usr/local/lib
- /opt/lib
- `ls -dr /usr/lib/qt* 2>/dev/null`
- `ls -dr /usr/local/qt* 2>/dev/null`
- `ls -dr /opt/qt* 2>/dev/null`
- "
- for bnv_dir in $bnv_dir_list; do
- if ls $bnv_dir/libqt*; then
- # Gamble that it's the first one...
- bnv_qt_lib="`ls $bnv_dir/libqt* | sed -n 1p |
- sed s@$bnv_dir/lib@@ | sed s/[.].*//`"
- bnv_qt_lib_dir="$bnv_dir"
- break
- fi
- done
- # Try with that one
- LIBS="-l$bnv_qt_lib $X_PRE_LIBS $X_LIBS -lX11 -lXext -lXmu -lXt -lXi $X_EXTRA_LIBS"
- AC_TRY_LINK([#include <$qt_direct_test_header>],
- $qt_direct_test_main,
- [
- # Succes.
- # We can link with no special library directory.
- bnv_qt_lib_dir=
- ], [
- # Leave bnv_qt_lib_dir defined
- ])
- ])
- ])
- ])
- if test x"$bnv_qt_lib_dir" != x; then
- bnv_qt_LIBS="-l$bnv_qt_lib_dir $LIBS"
- else
- bnv_qt_LIBS="$LIBS"
- fi
- LIBS="$bnv_save_LIBS"
- CXXFLAGS="$bnv_save_CXXFLAGS"
- fi dnl $with_Qt_lib_dir was not given
- fi dnl Done setting up for non-traditional Trolltech installation
-])
diff --git a/volk/config/gcc_version_workaround.m4 b/volk/config/gcc_version_workaround.m4
deleted file mode 100755
index 3cd8a0cc7..000000000
--- a/volk/config/gcc_version_workaround.m4
+++ /dev/null
@@ -1,53 +0,0 @@
-AC_DEFUN([LV_GCC_VERSION_WORKAROUND],
-[
- case "${host_os}" in
- *cygwin*)
- ;;
- *)
- AC_REQUIRE([LF_CONFIGURE_CXX])
-
- cxx_version=`$CXX --version`
-
- cxx_major_version=`echo $cxx_version | sed 's/[[^)]]*) \([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\).*/\1/'`
- cxx_minor_version=`echo $cxx_version | sed 's/g++ [[^)]]*) \([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\).*/\2/'`
- cxx_micro_version=`echo $cxx_version | sed 's/g++ [[^)]]*) \([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\).*/\3/'`
-
- if test ["$cxx_minor_version" -lt "3"] -o ["$cxx_major_version" -lt "4"]; then
- cxx_proper_version="$cxx_major_version.$cxx_minor_version.$cxx_micro_version"
-
-
- my_arch=`uname -m`
-
- if test "${my_arch}" = i686; then
- my_arch="${my_arch} i586 i486 i386"
- fi
- if test "${my_arch}" = i586; then
- my_arch = "${my_arch} i686 i386 i486"
- fi
- if test "${my_arch}" = i486; then
- my_arch = "${my_arch} i686 i386 i586"
- fi
- if test "${my_arch}" = i386; then
- my_arch = "${my_arch} i686 i586 i486"
- fi
-
- for i in $my_arch
- do
- if test -n "`ls /usr/include/c++/$cxx_proper_version | grep $i`"; then
- mystery_dir=`ls /usr/include/c++/$cxx_proper_version | grep $i`
- echo `ls /usr/include/c++/$cxx_proper_version | grep $i`
- fi
- done
- echo "${mystery_dir}"
-
- LV_CXXFLAGS="${LV_CXXFLAGS} -nostdinc++ -I/usr/include/c++/$cxx_proper_version -I/usr/include/c++/$cxx_proper_version/$mystery_dir"
-
- CXXFLAGS="${CXXFLAGS} -nostdinc++ -I/usr/include/c++/$cxx_proper_version -I/usr/include/c++/$cxx_proper_version/$mystery_dir"
-
-
-
- fi
-
- esac
-
- ]) \ No newline at end of file
diff --git a/volk/config/gr_lib64.m4 b/volk/config/gr_lib64.m4
deleted file mode 100644
index 751f774b4..000000000
--- a/volk/config/gr_lib64.m4
+++ /dev/null
@@ -1,85 +0,0 @@
-dnl
-dnl Copyright 2005,2008 Free Software Foundation, Inc.
-dnl
-dnl This file is part of GNU Radio
-dnl
-dnl GNU Radio is free software; you can redistribute it and/or modify
-dnl it under the terms of the GNU General Public License as published by
-dnl the Free Software Foundation; either version 3, or (at your option)
-dnl any later version.
-dnl
-dnl GNU Radio is distributed in the hope that it will be useful,
-dnl but WITHOUT ANY WARRANTY; without even the implied warranty of
-dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-dnl GNU General Public License for more details.
-dnl
-dnl You should have received a copy of the GNU General Public License
-dnl along with GNU Radio; see the file COPYING. If not, write to
-dnl the Free Software Foundation, Inc., 51 Franklin Street,
-dnl Boston, MA 02110-1301, USA.
-dnl
-
-dnl GR_LIB64()
-dnl
-dnl Checks to see if we're on a x86_64 or powerpc64 machine, and if so, determine
-dnl if libdir should end in "64" or not.
-dnl
-dnl Sets gr_libdir_suffix to "" or "64" and calls AC_SUBST(gr_libdir_suffix)
-dnl May append "64" to libdir.
-dnl
-dnl The current heuristic is:
-dnl if the host_cpu isn't x86_64 or powerpc64, then ""
-dnl if the host_os isn't linux, then ""
-dnl if we're cross-compiling, ask the linker, by way of the selected compiler
-dnl if we're x86_64 and there's a /lib64 and it's not a symlink, then "64", else ""
-dnl else ask the compiler
-dnl
-AC_DEFUN([GR_LIB64],[
- AC_REQUIRE([AC_CANONICAL_HOST])
- AC_REQUIRE([AC_PROG_CXX])
-
- AC_MSG_CHECKING([gr_libdir_suffix])
- gr_libdir_suffix=""
- AC_SUBST(gr_libdir_suffix)
-
- case "$host_os" in
- linux*) is_linux=yes ;;
- *) is_linux=no ;;
- esac
-
- if test "$is_linux" = no || test "$host_cpu" != "x86_64" && test "$host_cpu" != "powerpc64"; then
- gr_libdir_suffix=""
- elif test "$cross_compiling" = yes; then
- _GR_LIB64_ASK_COMPILER
- elif test "$host_cpu" = "x86_64"; then
- if test -d /lib64 && test ! -L /lib64; then
- gr_libdir_suffix=64
- fi
- else
- _GR_LIB64_ASK_COMPILER
- fi
- AC_MSG_RESULT([$gr_libdir_suffix])
-
-
- AC_MSG_CHECKING([whether to append 64 to libdir])
- t=${libdir##*/lib}
- if test "$t" != 64 && test "$gr_libdir_suffix" = "64"; then
- libdir=${libdir}64
- AC_MSG_RESULT([yes. Setting libdir to $libdir])
- else
- AC_MSG_RESULT([no])
- fi
-])
-
-dnl If we're using g++, extract the first SEARCH_DIR("...") entry from the linker script
-dnl and see if it contains a suffix after the final .../lib part of the path.
-dnl (This works because the linker script varies depending on whether we're generating
-dnl 32-bit or 64-bit executables)
-dnl
-AC_DEFUN([_GR_LIB64_ASK_COMPILER],[
- if test "$ac_cv_cxx_compiler_gnu" = "yes";
- then
- gr_libdir_suffix=`$CXX -Wl,--verbose 2>/dev/null | sed -n -e '/SEARCH_DIR/{s/;.*$//; s,^.*/,,; s/".*$//; s/^lib//; p}'`
- fi
-])
-
diff --git a/volk/config/gr_libgnuradio_core_extra_ldflags.m4 b/volk/config/gr_libgnuradio_core_extra_ldflags.m4
deleted file mode 100644
index 43f872c04..000000000
--- a/volk/config/gr_libgnuradio_core_extra_ldflags.m4
+++ /dev/null
@@ -1,40 +0,0 @@
-# Check for (MinGW)win32 extra ld options. -*- Autoconf -*-
-
-# Copyright 2003,2004,2005 Free Software Foundation, Inc.
-#
-# This file is part of GNU Radio
-#
-# GNU Radio is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 3, or (at your option)
-# any later version.
-#
-# GNU Radio is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with GNU Radio; see the file COPYING. If not, write to
-# the Free Software Foundation, Inc., 51 Franklin Street,
-# Boston, MA 02110-1301, USA.
-
-dnl
-AC_DEFUN([GR_LIBGNURADIO_CORE_EXTRA_LDFLAGS], [
-AC_REQUIRE([AC_PROG_LD])
-# on Mingw32 extra LDFLAGS are required to ease global variable linking
-LIBGNURADIO_CORE_EXTRA_LDFLAGS=""
-
-AC_MSG_CHECKING([whether $LD accepts --enable-runtime-pseudo-reloc])
-if ${LD} --enable-runtime-pseudo-reloc --version >/dev/null 2>&1
-then
- # libtool requires the quotes
- LIBGNURADIO_CORE_EXTRA_LDFLAGS="\"-Wl,--enable-runtime-pseudo-reloc\""
- AC_MSG_RESULT(yes)
-else
- AC_MSG_RESULT(no)
-fi
-
-AC_SUBST(LIBGNURADIO_CORE_EXTRA_LDFLAGS)
-
-])
diff --git a/volk/config/gr_no_undefined.m4 b/volk/config/gr_no_undefined.m4
deleted file mode 100644
index c8d745d5f..000000000
--- a/volk/config/gr_no_undefined.m4
+++ /dev/null
@@ -1,44 +0,0 @@
-dnl
-dnl Copyright 2005 Free Software Foundation, Inc.
-dnl
-dnl This file is part of GNU Radio
-dnl
-dnl GNU Radio is free software; you can redistribute it and/or modify
-dnl it under the terms of the GNU General Public License as published by
-dnl the Free Software Foundation; either version 3, or (at your option)
-dnl any later version.
-dnl
-dnl GNU Radio is distributed in the hope that it will be useful,
-dnl but WITHOUT ANY WARRANTY; without even the implied warranty of
-dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-dnl GNU General Public License for more details.
-dnl
-dnl You should have received a copy of the GNU General Public License
-dnl along with GNU Radio; see the file COPYING. If not, write to
-dnl the Free Software Foundation, Inc., 51 Franklin Street,
-dnl Boston, MA 02110-1301, USA.
-dnl
-
-# GR_NO_UNDEFINED()
-#
-# Detemine whether we need to use the -no-undefined linker flag
-# when building shared libraries.
-# Sets NO_UNDEFINED to "" or "-no-undefined"
-#
-# As far as I can tell, we need -no-undefined only when building
-# windows DLLs. This occurs when using MinGW and Cygwin.
-#
-# For now, we stub this out.
-
-AC_DEFUN([GR_NO_UNDEFINED],[
- AC_REQUIRE([AC_CANONICAL_HOST])
- no_undefined=""
- case "${host_os}" in
- *mingw* | *cygwin*)
-
- # on MinGW/Cygwin extra LDFLAGS are required
- no_undefined="-no-undefined"
- ;;
- esac
- AC_SUBST(NO_UNDEFINED,[$no_undefined])
-])
diff --git a/volk/config/gr_omnithread.m4 b/volk/config/gr_omnithread.m4
deleted file mode 100644
index 054f07824..000000000
--- a/volk/config/gr_omnithread.m4
+++ /dev/null
@@ -1,52 +0,0 @@
-# Check for Omnithread (pthread/NT) thread support. -*- Autoconf -*-
-
-# Copyright 2003,2007 Free Software Foundation, Inc.
-
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 3, or (at your option)
-# any later version.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Boston, MA
-# 02110-1301, USA.
-
-AC_DEFUN([GR_OMNITHREAD],
-[
- # Check first for POSIX
- ACX_PTHREAD(
- [ AC_DEFINE(HAVE_PTHREAD,1,[Define if you have POSIX threads libraries and header files.])
- ot_posix="yes"
- DEFINES="$DEFINES -DOMNITHREAD_POSIX=1"
- ],[
- # If no POSIX support found, then check for NT threads
- AC_MSG_CHECKING([for NT threads])
-
- AC_LINK_IFELSE([
- #include <windows.h>
- #include <winbase.h>
- int main() { InitializeCriticalSection(NULL); return 0; }
- ],
- [
- ot_nt="yes"
- DEFINES="$DEFINES -DOMNITHREAD_NT=1"
- ],
- [AC_MSG_FAILURE([GNU Radio requires POSIX threads. pthreads not found.])]
- )
- AC_MSG_RESULT(yes)
- ])
- AM_CONDITIONAL(OMNITHREAD_POSIX, test "x$ot_posix" = xyes)
- AM_CONDITIONAL(OMNITHREAD_NT, test "x$ot_nt" = xyes)
-
- save_LIBS="$LIBS"
- AC_SEARCH_LIBS([clock_gettime], [rt], [PTHREAD_LIBS="$PTHREAD_LIBS $LIBS"])
- AC_CHECK_FUNCS([clock_gettime gettimeofday nanosleep])
- LIBS="$save_LIBS"
-])
-
diff --git a/volk/config/gr_pwin32.m4 b/volk/config/gr_pwin32.m4
deleted file mode 100644
index b55bc64b1..000000000
--- a/volk/config/gr_pwin32.m4
+++ /dev/null
@@ -1,135 +0,0 @@
-# Check for (mingw)win32 POSIX replacements. -*- Autoconf -*-
-
-# Copyright 2003,2004,2005,2011 Free Software Foundation, Inc.
-#
-# This file is part of GNU Radio
-#
-# GNU Radio is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 3, or (at your option)
-# any later version.
-#
-# GNU Radio is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with GNU Radio; see the file COPYING. If not, write to
-# the Free Software Foundation, Inc., 51 Franklin Street,
-# Boston, MA 02110-1301, USA.
-
-
-AC_DEFUN([GR_PWIN32],
-[
-AC_REQUIRE([AC_HEADER_TIME])
-AC_CHECK_HEADERS([sys/types.h fcntl.h io.h])
-AC_CHECK_HEADERS([windows.h])
-AC_CHECK_HEADERS([winioctl.h winbase.h], [], [], [
- #if HAVE_WINDOWS_H
- #include <windows.h>
- #endif
-])
-
-AC_CHECK_FUNCS([getopt usleep gettimeofday nanosleep rand srand random srandom sleep sigaction])
-AC_CHECK_TYPES([struct timezone, struct timespec, ssize_t],[],[],[
- #if HAVE_SYS_TYPES_H
- # include <sys/types.h>
- #endif
- #if TIME_WITH_SYS_TIME
- # include <sys/time.h>
- # include <time.h>
- #else
- # if HAVE_SYS_TIME_H
- # include <sys/time.h>
- # else
- # include <time.h>
- # endif
- #endif
-])
-
-dnl Checks for replacements
-AC_REPLACE_FUNCS([getopt usleep gettimeofday])
-
-
-AC_MSG_CHECKING(for Sleep)
-AC_TRY_LINK([ #include <windows.h>
- #include <winbase.h>
- ], [ Sleep(0); ],
- [AC_DEFINE(HAVE_SSLEEP,1,[Define to 1 if you have win32 Sleep])
- AC_MSG_RESULT(yes)],
- AC_MSG_RESULT(no)
- )
-
-AH_BOTTOM(
-[
-/* Define missing prototypes, implemented in replacement lib */
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#ifndef HAVE_GETOPT
-int getopt (int argc, char * const argv[], const char * optstring);
-extern char * optarg;
-extern int optind, opterr, optopt;
-#endif
-
-#ifndef HAVE_USLEEP
-int usleep(unsigned long usec); /* SUSv2 */
-#endif
-
-#ifndef HAVE_NANOSLEEP
-#ifndef HAVE_STRUCT_TIMESPEC
-#if HAVE_SYS_TYPES_H
-# include <sys/types.h> /* need time_t */
-#endif
-struct timespec {
- time_t tv_sec;
- long tv_nsec;
-};
-#endif
-static inline int nanosleep(const struct timespec *req, struct timespec *rem) { return usleep(req->tv_sec*1000000+req->tv_nsec/1000); }
-#endif
-
-#if defined(HAVE_SSLEEP) && !defined(HAVE_SLEEP)
-#ifdef HAVE_WINBASE_H
-#include <windows.h>
-#include <winbase.h>
-#endif
-/* TODO: what about SleepEx? */
-static inline unsigned int sleep (unsigned int nb_sec) { Sleep(nb_sec*1000); return 0; }
-#endif
-
-#ifndef HAVE_GETTIMEOFDAY
-#ifdef HAVE_SYS_TIME_H
-#include <sys/time.h>
-#endif
-#ifndef HAVE_STRUCT_TIMEZONE
-struct timezone {
- int tz_minuteswest;
- int tz_dsttime;
-};
-#endif
-int gettimeofday(struct timeval *tv, struct timezone *tz);
-#endif
-
-#if !defined(HAVE_RANDOM) && defined(HAVE_RAND)
-#include <stdlib.h>
-static inline long int random (void) { return rand(); }
-#endif
-
-#if !defined(HAVE_SRANDOM) && defined(HAVE_SRAND)
-static inline void srandom (unsigned int seed) { srand(seed); }
-#endif
-
-#ifndef HAVE_SSIZE_T
-typedef size_t ssize_t;
-#endif
-
-#ifdef __cplusplus
-}
-#endif
-])
-
-
-])
diff --git a/volk/config/gr_set_md_cpu.m4 b/volk/config/gr_set_md_cpu.m4
deleted file mode 100644
index 56fd83bac..000000000
--- a/volk/config/gr_set_md_cpu.m4
+++ /dev/null
@@ -1,63 +0,0 @@
-dnl
-dnl Copyright 2003,2008 Free Software Foundation, Inc.
-dnl
-dnl This file is part of GNU Radio
-dnl
-dnl GNU Radio is free software; you can redistribute it and/or modify
-dnl it under the terms of the GNU General Public License as published by
-dnl the Free Software Foundation; either version 3, or (at your option)
-dnl any later version.
-dnl
-dnl GNU Radio is distributed in the hope that it will be useful,
-dnl but WITHOUT ANY WARRANTY; without even the implied warranty of
-dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-dnl GNU General Public License for more details.
-dnl
-dnl You should have received a copy of the GNU General Public License
-dnl along with GNU Radio; see the file COPYING. If not, write to
-dnl the Free Software Foundation, Inc., 51 Franklin Street,
-dnl Boston, MA 02110-1301, USA.
-dnl
-
-AC_DEFUN([_TRY_ADD_ALTIVEC],
-[
- LF_CHECK_CC_FLAG([-mabi=altivec -maltivec])
- LF_CHECK_CXX_FLAG([-mabi=altivec -maltivec])
-])
-
-AC_DEFUN([GR_SET_MD_CPU],[
- AC_REQUIRE([AC_CANONICAL_HOST])
- AC_ARG_WITH(md-cpu,
- AC_HELP_STRING([--with-md-cpu=ARCH],[set machine dependent speedups (auto)]),
- [cf_with_md_cpu="$withval"],
- [cf_with_md_cpu="$host_cpu"])
-
- case "$cf_with_md_cpu" in
- x86 | i[[3-7]]86) MD_CPU=x86 MD_SUBCPU=x86 ;;
- x86_64) MD_CPU=x86 MD_SUBCPU=x86_64 ;;
- powerpc*) MD_CPU=powerpc ;;
- *) MD_CPU=generic ;;
- esac
-
- AC_ARG_ENABLE(altivec,
- AC_HELP_STRING([--enable-altivec],[enable altivec on PowerPC (yes)]),
- [ if test $MD_CPU = powerpc; then
- case "$enableval" in
- (no) MD_CPU=generic ;;
- (yes) _TRY_ADD_ALTIVEC ;;
- (*) AC_MSG_ERROR([Invalid argument ($enableval) to --enable-altivec]) ;;
- esac
- fi],
- [ if test $MD_CPU = powerpc; then _TRY_ADD_ALTIVEC fi])
-
-
- AC_MSG_CHECKING([for machine dependent speedups])
- AC_MSG_RESULT($MD_CPU)
- AC_SUBST(MD_CPU)
- AC_SUBST(MD_SUBCPU)
-
- AM_CONDITIONAL(MD_CPU_x86, test "$MD_CPU" = "x86")
- AM_CONDITIONAL(MD_SUBCPU_x86_64, test "$MD_SUBCPU" = "x86_64")
- AM_CONDITIONAL(MD_CPU_powerpc, test "$MD_CPU" = "powerpc")
- AM_CONDITIONAL(MD_CPU_generic, test "$MD_CPU" = "generic")
-])
diff --git a/volk/config/gr_sysv_shm.m4 b/volk/config/gr_sysv_shm.m4
deleted file mode 100644
index db5c8351e..000000000
--- a/volk/config/gr_sysv_shm.m4
+++ /dev/null
@@ -1,36 +0,0 @@
-# Check for IPC System V shm support. -*- Autoconf -*-
-
-# Copyright 2003 Free Software Foundation, Inc.
-
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 3, or (at your option)
-# any later version.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Boston, MA
-# 02110-1301, USA.
-
-AC_DEFUN([GR_SYSV_SHM],
-[
- AC_LANG_SAVE
- AC_LANG_C
-
- AC_CHECK_HEADERS([sys/ipc.h sys/shm.h])
-
- save_LIBS="$LIBS"
- AC_SEARCH_LIBS(shmat, [cygipc ipc],
- [ IPC_LIBS="$LIBS" ],
- [ AC_MSG_WARN([SystemV IPC support not found. ]) ]
- )
- LIBS="$save_LIBS"
-
- AC_LANG_RESTORE
- AC_SUBST(IPC_LIBS)
-])
diff --git a/volk/config/lf_cc.m4 b/volk/config/lf_cc.m4
deleted file mode 100644
index b75e1a4c5..000000000
--- a/volk/config/lf_cc.m4
+++ /dev/null
@@ -1,41 +0,0 @@
-dnl Autoconf support for C++
-dnl Copyright (C) 1988 Eleftherios Gkioulekas <lf@amath.washington.edu>
-dnl
-dnl This program is free software; you can redistribute it and/or modify
-dnl it under the terms of the GNU General Public License as published by
-dnl the Free Software Foundation; either version 3 of the License, or
-dnl (at your option) any later version.
-dnl
-dnl This program is distributed in the hope that it will be useful,
-dnl but WITHOUT ANY WARRANTY; without even the implied warranty of
-dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-dnl GNU General Public License for more details.
-dnl
-dnl You should have received a copy of the GNU General Public License
-dnl along with this program; if not, write to the Free Software
-dnl Foundation, Inc., 51 Franklin Street, Boston, MA 02110-1301, USA.
-dnl
-dnl As a special exception to the GNU General Public License, if you
-dnl distribute this file as part of a program that contains a configuration
-dnl script generated by Autoconf, you may include it under the same
-dnl distribution terms that you use for the rest of that program.
-
-# -------------------------------------------------------------------------
-# Use this macro to configure your C compiler
-# When called the macro does the following things:
-# 1. It finds an appropriate C compiler.
-# If you passed the flag --with-cc=foo then it uses that
-# particular compiler
-# 2. Check whether the compiler works.
-# 3. Checks whether the compiler accepts the -g
-# -------------------------------------------------------------------------
-
-AC_DEFUN([LF_CONFIGURE_CC],[
- dnl Sing the song
- AC_REQUIRE([AC_PROG_CC])dnl
- AC_REQUIRE([AC_PROG_CPP])dnl
- AC_REQUIRE([AC_AIX])dnl
- AC_REQUIRE([AC_ISC_POSIX])dnl
- AC_REQUIRE([AC_HEADER_STDC])dnl
-])
-
diff --git a/volk/config/lf_cxx.m4 b/volk/config/lf_cxx.m4
deleted file mode 100644
index 7cce5f8a4..000000000
--- a/volk/config/lf_cxx.m4
+++ /dev/null
@@ -1,50 +0,0 @@
-dnl Autoconf support for C++
-dnl Copyright (C) 1988 Eleftherios Gkioulekas <lf@amath.washington.edu>
-dnl
-dnl This program is free software; you can redistribute it and/or modify
-dnl it under the terms of the GNU General Public License as published by
-dnl the Free Software Foundation; either version 3 of the License, or
-dnl (at your option) any later version.
-dnl
-dnl This program is distributed in the hope that it will be useful,
-dnl but WITHOUT ANY WARRANTY; without even the implied warranty of
-dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-dnl GNU General Public License for more details.
-dnl
-dnl You should have received a copy of the GNU General Public License
-dnl along with this program; if not, write to the Free Software
-dnl Foundation, Inc., 51 Franklin Street, Boston, MA 02110-1301, USA.
-dnl
-dnl As a special exception to the GNU General Public License, if you
-dnl distribute this file as part of a program that contains a configuration
-dnl script generated by Autoconf, you may include it under the same
-dnl distribution terms that you use for the rest of that program.
-
-# -----------------------------------------------------------------
-# This macro should be called to configure your C++ compiler.
-# When called, the macro does the following things:
-# 1. It finds an appropriate C++ compiler
-# If you passed the flag --with-cxx=foo, then it uses that
-# particular compiler
-# 2. Checks whether the compiler accepts the -g
-# ------------------------------------------------------------------
-
-AC_DEFUN([LF_CONFIGURE_CXX],[
- AC_REQUIRE([AC_PROG_CXX])dnl
- AC_REQUIRE([AC_PROG_CXXCPP])dnl
- LF_CXX_PORTABILITY
-])
-
-# -----------------------------------------------------------------------
-# This macro tests the C++ compiler for various portability problem.
-# -----------------------------------------------------------------------
-
-
-AC_DEFUN([LF_CXX_PORTABILITY],[
-
- dnl
- dnl Check for common C++ portability problems
- dnl
-
-])
-
diff --git a/volk/config/lf_warnings.m4 b/volk/config/lf_warnings.m4
deleted file mode 100644
index 0ef7b2b37..000000000
--- a/volk/config/lf_warnings.m4
+++ /dev/null
@@ -1,123 +0,0 @@
-dnl Copyright (C) 1988 Eleftherios Gkioulekas <lf@amath.washington.edu>
-dnl Copyright (C) 2009 Free Software Foundation, Inc.
-dnl
-dnl This program is free software; you can redistribute it and/or modify
-dnl it under the terms of the GNU General Public License as published by
-dnl the Free Software Foundation; either version 3 of the License, or
-dnl (at your option) any later version.
-dnl
-dnl This program is distributed in the hope that it will be useful,
-dnl but WITHOUT ANY WARRANTY; without even the implied warranty of
-dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-dnl GNU General Public License for more details.
-dnl
-dnl You should have received a copy of the GNU General Public License
-dnl along with this program; if not, write to the Free Software
-dnl Foundation, Inc., 51 Franklin Street, Boston, MA 02110-1301, USA.
-dnl
-dnl As a special exception to the GNU General Public License, if you
-dnl distribute this file as part of a program that contains a configuration
-dnl script generated by Autoconf, you may include it under the same
-dnl distribution terms that you use for the rest of that program.
-
-# --------------------------------------------------------------------------
-# Check whether the C++ compiler accepts a certain flag
-# If it does it adds the flag to lf_CXXFLAGS
-# If it does not then it returns an error to lf_ok
-# Usage:
-# LF_CHECK_CXX_FLAG(-flag1 -flag2 -flag3 ...)
-# -------------------------------------------------------------------------
-
-AC_DEFUN([LF_CHECK_CXX_FLAG],[
- echo "#include <stdio.h>
-int main(int argc, char **argv){return 0;}" > conftest.cc
- for i in $1
- do
- AC_MSG_CHECKING([whether $CXX accepts $i])
- if test -z "`${CXX} $i -c conftest.cc 2>&1`"
- then
- lf_CXXFLAGS="${lf_CXXFLAGS} $i"
- AC_MSG_RESULT(yes)
- else
- AC_MSG_RESULT(no)
- fi
- done
- rm -f conftest.cc conftest.o
- AC_SUBST(lf_CXXFLAGS)
-])
-
-# --------------------------------------------------------------------------
-# Check whether the C compiler accepts a certain flag
-# If it does it adds the flag to lf_CFLAGS
-# If it does not then it returns an error to lf_ok
-# Usage:
-# LF_CHECK_CC_FLAG(-flag1 -flag2 -flag3 ...)
-# -------------------------------------------------------------------------
-
-AC_DEFUN([LF_CHECK_CC_FLAG],[
- echo "#include <stdio.h>
-int main(int argc, char **argv){return 0;}" > conftest.c
- for i in $1
- do
- AC_MSG_CHECKING([whether $CC accepts $i])
- if test -z "`${CC} $i -c conftest.c 2>&1`"
- then
- lf_CFLAGS="${lf_CFLAGS} $i"
- AC_MSG_RESULT(yes)
- else
- AC_MSG_RESULT(no)
- fi
- done
- rm -f conftest.c conftest.o
- AC_SUBST(lf_CFLAGS)
-])
-
-# --------------------------------------------------------------------------
-# Check whether the Fortran compiler accepts a certain flag
-# If it does it adds the flag to lf_FFLAGS
-# If it does not then it returns an error to lf_ok
-# Usage:
-# LF_CHECK_F77_FLAG(-flag1 -flag2 -flag3 ...)
-# -------------------------------------------------------------------------
-
-AC_DEFUN([LF_CHECK_F77_FLAG],[
- cat << EOF > conftest.f
-c....:++++++++++++++++++++++++
- PROGRAM MAIN
- PRINT*,'Hello World!'
- END
-EOF
- for i in $1
- do
- AC_MSG_CHECKING([whether $F77 accepts $i])
- if test -z "`${F77} $i -c conftest.f 2>&1`"
- then
- lf_FFLAGS="${lf_FFLAGS} $i"
- AC_MSG_RESULT(yes)
- else
- AC_MSG_RESULT(no)
- fi
- done
- rm -f conftest.f conftest.o
- AC_SUBST(lf_FFLAGS)
-])
-
-# ----------------------------------------------------------------------
-# Enable compiler warnings.
-# Call this command AFTER you have configured ALL your compilers.
-# ----------------------------------------------------------------------
-
-AC_DEFUN([LF_SET_WARNINGS],[
- dnl Warnings for the two main compilers
- dnl add -Wextra when you're got time to fix a bunch of them ;-)
- cc_warning_flags="-Wall -Werror-implicit-function-declaration -Wno-uninitialized"
- cxx_warning_flags="-Wall -Woverloaded-virtual -Wno-uninitialized"
- if test -n "${CC}"
- then
- LF_CHECK_CC_FLAG($cc_warning_flags)
- fi
- if test -n "${CXX}"
- then
- LF_CHECK_CXX_FLAG($cxx_warning_flags)
- fi
-])
diff --git a/volk/config/lf_x11.m4 b/volk/config/lf_x11.m4
deleted file mode 100644
index 460cd605f..000000000
--- a/volk/config/lf_x11.m4
+++ /dev/null
@@ -1,39 +0,0 @@
-dnl Copyright (C) 1988 Eleftherios Gkioulekas <lf@amath.washington.edu>
-dnl
-dnl This program is free software; you can redistribute it and/or modify
-dnl it under the terms of the GNU General Public License as published by
-dnl the Free Software Foundation; either version 3 of the License, or
-dnl (at your option) any later version.
-dnl
-dnl This program is distributed in the hope that it will be useful,
-dnl but WITHOUT ANY WARRANTY; without even the implied warranty of
-dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-dnl GNU General Public License for more details.
-dnl
-dnl You should have received a copy of the GNU General Public License
-dnl along with this program; if not, write to the Free Software
-dnl Foundation, Inc., 51 Franklin Street, Boston, MA 02110-1301, USA.
-dnl
-dnl As a special exception to the GNU General Public License, if you
-dnl distribute this file as part of a program that contains a configuration
-dnl script generated by Autoconf, you may include it under the same
-dnl distribution terms that you use for the rest of that program.
-
-
-#-----------------------------------------------------------------------
-# This macro searches for Xlib and when it finds it it adds the
-# appropriate flags to CXXFLAGS and export the link sequence to
-# the variable XLIB.
-# In your configure.in file add:
-# LF_PATH_XLIB
-# In your Makefile.am add
-# program_LDADD = .... $(XLIB)
-#------------------------------------------------------------------------
-
-AC_DEFUN([LF_PATH_XLIB],[
- AC_PATH_XTRA
- CXXFLAGS="$CXXFLAGS $X_CFLAGS"
- XLIB="$X_LIBS $X_PRE_LIBS -lX11 $X_EXTRA_LIBS"
- AC_SUBST(XLIB)
-])
-
diff --git a/volk/config/lv_configure.m4 b/volk/config/lv_configure.m4
deleted file mode 100644
index 358fba030..000000000
--- a/volk/config/lv_configure.m4
+++ /dev/null
@@ -1,114 +0,0 @@
-dnl
-dnl Copyright 2010 Free Software Foundation, Inc.
-dnl
-dnl This program is free software: you can redistribute it and/or modify
-dnl it under the terms of the GNU General Public License as published by
-dnl the Free Software Foundation, either version 3 of the License, or
-dnl (at your option) any later version.
-dnl
-dnl This program is distributed in the hope that it will be useful,
-dnl but WITHOUT ANY WARRANTY; without even the implied warranty of
-dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-dnl GNU General Public License for more details.
-dnl
-dnl You should have received a copy of the GNU General Public License
-dnl along with this program. If not, see <http://www.gnu.org/licenses/>.
-dnl
-
-dnl LV_CONFIGURE
-dnl
-dnl Handles the bulk of the configure.ac work for an out-of-tree build
-dnl
-dnl You must invoke:
-dnl
-dnl AC_INIT(package_name,version)
-dnl AC_PREREQ(2.57)
-dnl AC_CONFIG_AUX_DIR([.])
-dnl
-dnl in configure.ac before LV_CONFIGURE
-dnl
-dnl
-dnl N.B., this is an m4_define because if it were an AC_DEFUN it would
-dnl get called too late to be useful.
-
-m4_define([LV_CONFIGURE],
-[
- #AC_CANONICAL_BUILD
- #AC_CANONICAL_HOST
- #AC_CANONICAL_TARGET
-
- LF_CONFIGURE_CC
- LF_CONFIGURE_CXX
- GR_LIB64 dnl check for lib64 suffix after choosing compilers
-
- LV_GCC_VERSION_WORKAROUND
- dnl add ${prefix}/lib${gr_libdir_suffix}/pkgconfig to the head of the PKG_CONFIG_PATH
- if test x${PKG_CONFIG_PATH} = x; then
- PKG_CONFIG_PATH=${prefix}/lib${gr_libdir_suffix}/pkgconfig
- else
- PKG_CONFIG_PATH=${prefix}/lib${gr_libdir_suffix}/pkgconfig:${PKG_CONFIG_PATH}
- fi
- export PKG_CONFIG_PATH
-
- LF_SET_WARNINGS
-dnl GR_SET_GPROF
-dnl GR_SET_PROF
- AM_PROG_AS
- AC_PROG_LN_S
- AC_PROG_MAKE_SET
- AC_PROG_INSTALL
- AC_PATH_PROG([RM_PROG], [rm])
-
- AC_LIBTOOL_WIN32_DLL
- AC_ENABLE_SHARED dnl do build shared libraries... important for qa
- AC_DISABLE_STATIC dnl don't build static libraries... important for qa
- m4_ifdef([LT_INIT],[LT_INIT],[AC_PROG_LIBTOOL])
- dnl GR_FORTRAN
-
- GR_NO_UNDEFINED dnl do we need the -no-undefined linker flag
-dnl GR_SCRIPTING dnl Locate python, SWIG, etc
-
-dnl AC_ARG_WITH([python],
-dnl AC_HELP_STRING([--with-python], [Should we use python? [[default=yes]]]),
-dnl [case "$with_python" in
-dnl (no | yes) ;;
-dnl (*) AC_MSG_ERROR([Invalid argument ($with_python) to --with-python]) ;;
-dnl esac],
-dnl [with_python=yes])
-
-dnl AM_CONDITIONAL([USE_PYTHON], [test "$with_python" = yes])
-
-
- dnl Set the c++ compiler that we use for the build system when cross compiling
- if test "x$CXX_FOR_BUILD" = x
- then
- CXX_FOR_BUILD=${CXX}
- fi
- AC_SUBST(CXX_FOR_BUILD)
-
- dnl Checks for header files.
- AC_HEADER_STDC
-
- dnl Checks for typedefs, structures, and compiler characteristics.
- AC_C_CONST
- AC_C_INLINE
- AC_TYPE_SIZE_T
- AC_HEADER_TIME
- AC_C_BIGENDIAN
-
- dnl Check for Mingw support
- GR_PWIN32
- dnl GR_LIBGNURADIO_CORE_EXTRA_LDFLAGS
-
- dnl Check for liborc
- ORC_CHECK
-
- dnl Following causes test for -lboost_unit_test_framework to fail on Cygwin
- dnl LDFLAGS="$LDFLAGS $LIBGNURADIO_CORE_EXTRA_LDFLAGS"
-
- AC_CHECK_PROG([XMLTO],[xmlto],[yes],[])
- AM_CONDITIONAL([HAS_XMLTO], [test x$XMLTO = xyes])
-
-dnl PKG_CHECK_MODULES(GNURADIO_CORE, gnuradio-core >= 3)
-dnl LIBS="$LIBS $GNURADIO_CORE_LIBS"
-])
diff --git a/volk/config/mkstemp.m4 b/volk/config/mkstemp.m4
deleted file mode 100644
index 2d1fbee9b..000000000
--- a/volk/config/mkstemp.m4
+++ /dev/null
@@ -1,78 +0,0 @@
-#serial 4
-
-# On some hosts (e.g., HP-UX 10.20, SunOS 4.1.4, Solaris 2.5.1), mkstemp has a
-# silly limit that it can create no more than 26 files from a given template.
-# Other systems lack mkstemp altogether.
-# On OSF1/Tru64 V4.0F, the system-provided mkstemp function can create
-# only 32 files per process.
-# On systems like the above, arrange to use the replacement function.
-AC_DEFUN([UTILS_FUNC_MKSTEMP],
-[dnl
- AC_REPLACE_FUNCS(mkstemp)
- if test $ac_cv_func_mkstemp = no; then
- utils_cv_func_mkstemp_limitations=yes
- else
- AC_CACHE_CHECK([for mkstemp limitations],
- utils_cv_func_mkstemp_limitations,
- [
- AC_TRY_RUN([
-# include <stdlib.h>
- int main ()
- {
- int i;
- for (i = 0; i < 70; i++)
- {
- char template[] = "conftestXXXXXX";
- int fd = mkstemp (template);
- if (fd == -1)
- exit (1);
- close (fd);
- }
- exit (0);
- }
- ],
- utils_cv_func_mkstemp_limitations=no,
- utils_cv_func_mkstemp_limitations=yes,
- utils_cv_func_mkstemp_limitations=yes
- )
- ]
- )
- fi
-
- if test $utils_cv_func_mkstemp_limitations = yes; then
- AC_LIBOBJ(mkstemp)
- AC_LIBOBJ(tempname)
- AC_DEFINE(mkstemp, rpl_mkstemp,
- [Define to rpl_mkstemp if the replacement function should be used.])
- gl_PREREQ_MKSTEMP
- jm_PREREQ_TEMPNAME
- fi
-])
-
-# Prerequisites of lib/mkstemp.c.
-AC_DEFUN([gl_PREREQ_MKSTEMP],
-[
- AH_BOTTOM(
- [
- #ifndef HAVE_MKSTEMP
- #ifdef __cplusplus
- extern "C" {
- #endif
- int rpl_mkstemp (char *templ);
- #ifdef __cplusplus
- }
- #endif
- #endif
- ])
-])
-
-# Prerequisites of lib/tempname.c.
-AC_DEFUN([jm_PREREQ_TEMPNAME],
-[
- AC_REQUIRE([AC_HEADER_STAT])
- AC_CHECK_HEADERS_ONCE(fcntl.h sys/time.h unistd.h)
- AC_CHECK_HEADERS(stdint.h)
- AC_CHECK_FUNCS(__secure_getenv gettimeofday lstat)
- AC_CHECK_DECLS_ONCE(getenv)
- # AC_REQUIRE([jm_AC_TYPE_UINTMAX_T])
-])
diff --git a/volk/config/onceonly.m4 b/volk/config/onceonly.m4
deleted file mode 100644
index f6fec37cb..000000000
--- a/volk/config/onceonly.m4
+++ /dev/null
@@ -1,63 +0,0 @@
-# onceonly.m4 serial 3
-dnl Copyright (C) 2002, 2003 Free Software Foundation, Inc.
-dnl This file is free software, distributed under the terms of the GNU
-dnl General Public License. As a special exception to the GNU General
-dnl Public License, this file may be distributed as part of a program
-dnl that contains a configuration script generated by Autoconf, under
-dnl the same distribution terms as the rest of that program.
-
-dnl This file defines some "once only" variants of standard autoconf macros.
-dnl AC_CHECK_HEADERS_ONCE like AC_CHECK_HEADERS
-dnl AC_CHECK_FUNCS_ONCE like AC_CHECK_FUNCS
-dnl AC_CHECK_DECLS_ONCE like AC_CHECK_DECLS
-dnl AC_REQUIRE([AC_HEADER_STDC]) like AC_HEADER_STDC
-dnl The advantage is that the check for each of the headers/functions/decls
-dnl will be put only once into the 'configure' file. It keeps the size of
-dnl the 'configure' file down, and avoids redundant output when 'configure'
-dnl is run.
-dnl The drawback is that the checks cannot be conditionalized. If you write
-dnl if some_condition; then gl_CHECK_HEADERS(stdlib.h); fi
-dnl inside an AC_DEFUNed function, the gl_CHECK_HEADERS macro call expands to
-dnl empty, and the check will be inserted before the body of the AC_DEFUNed
-dnl function.
-
-dnl Autoconf version 2.57 or newer is recommended.
-AC_PREREQ(2.54)
-
-# AC_CHECK_HEADERS_ONCE(HEADER1 HEADER2 ...) is a once-only variant of
-# AC_CHECK_HEADERS(HEADER1 HEADER2 ...).
-AC_DEFUN([AC_CHECK_HEADERS_ONCE], [
- :
- AC_FOREACH([gl_HEADER_NAME], [$1], [
- AC_DEFUN([gl_CHECK_HEADER_]m4_quote(translit(defn([gl_HEADER_NAME]),
- [-./], [___])), [
- AC_CHECK_HEADERS(gl_HEADER_NAME)
- ])
- AC_REQUIRE([gl_CHECK_HEADER_]m4_quote(translit(gl_HEADER_NAME,
- [-./], [___])))
- ])
-])
-
-# AC_CHECK_FUNCS_ONCE(FUNC1 FUNC2 ...) is a once-only variant of
-# AC_CHECK_FUNCS(FUNC1 FUNC2 ...).
-AC_DEFUN([AC_CHECK_FUNCS_ONCE], [
- :
- AC_FOREACH([gl_FUNC_NAME], [$1], [
- AC_DEFUN([gl_CHECK_FUNC_]defn([gl_FUNC_NAME]), [
- AC_CHECK_FUNCS(defn([gl_FUNC_NAME]))
- ])
- AC_REQUIRE([gl_CHECK_FUNC_]defn([gl_FUNC_NAME]))
- ])
-])
-
-# AC_CHECK_DECLS_ONCE(DECL1 DECL2 ...) is a once-only variant of
-# AC_CHECK_DECLS(DECL1, DECL2, ...).
-AC_DEFUN([AC_CHECK_DECLS_ONCE], [
- :
- AC_FOREACH([gl_DECL_NAME], [$1], [
- AC_DEFUN([gl_CHECK_DECL_]defn([gl_DECL_NAME]), [
- AC_CHECK_DECLS(defn([gl_DECL_NAME]))
- ])
- AC_REQUIRE([gl_CHECK_DECL_]defn([gl_DECL_NAME]))
- ])
-])
diff --git a/volk/config/orc.m4 b/volk/config/orc.m4
deleted file mode 100644
index e332939d3..000000000
--- a/volk/config/orc.m4
+++ /dev/null
@@ -1,63 +0,0 @@
-dnl pkg-config-based checks for Orc
-
-dnl specific:
-dnl ORC_CHECK([REQUIRED_VERSION])
-
-AC_DEFUN([ORC_CHECK],
-[
- ORC_REQ=ifelse([$1], , "0.4.12", [$1])
-
- if test "x$enable_orc" != "xno" ; then
- PKG_CHECK_MODULES(ORC, orc-0.4 >= $ORC_REQ, [
- AC_DEFINE(LV_HAVE_ORC, 1, [Use Orc])
- if test "x$ORCC" = "x" ; then
- ORCC=`$PKG_CONFIG --variable=orcc orc-0.4`
- fi
- AC_SUBST(ORCC)
- ORCC_FLAGS="--compat $ORC_REQ"
- ORC_LDFLAGS=`$PKG_CONFIG --libs orc-0.4`
- ORC_CFLAGS=`$PKG_CONFIG --cflags orc-0.4`
- AC_SUBST(ORCC_FLAGS)
- AC_SUBST(ORC_LDFLAGS)
- AC_SUBST(ORC_CFLAGS)
- LV_HAVE_ORC=yes
- LV_HAVE_ORCC=yes
- LV_ORC_PKGCONFIG="-lvolk_orc"
- if test "x$cross_compiling" = "xyes" ; then
- LV_HAVE_ORCC=no
- fi
- ], [
- if test "x$enable_orc" = "xyes" ; then
- AC_MSG_ERROR([--enable-orc specified, but Orc >= $ORC_REQ not found])
- fi
- AC_DEFINE(DISABLE_ORC, 1, [Disable Orc])
- LV_HAVE_ORC=no
- LV_HAVE_ORCC=no
- LV_ORC_PKGCONFIG=""
- ])
- else
- AC_DEFINE(DISABLE_ORC, 1, [Disable Orc])
- LV_HAVE_ORC=no
- LV_HAVE_ORCC=no
- LV_ORC_PKGCONFIG=""
- fi
- AM_CONDITIONAL(LV_HAVE_ORC, [test "x$LV_HAVE_ORC" = "xyes"])
- AM_CONDITIONAL(LV_HAVE_ORCC, [test "x$LV_HAVE_ORCC" = "xyes"])
- AC_SUBST(LV_ORC_PKGCONFIG)
-]))
-
-AC_DEFUN([ORC_OUTPUT],
-[
- if test "$LV_HAVE_ORC" = yes ; then
- printf "configure: *** Orc acceleration enabled.\n"
- else
- if test "x$enable_orc" = "xno" ; then
- printf "configure: *** Orc acceleration disabled by --disable-orc.\n"
- else
- printf "configure: *** Orc acceleration disabled. Requires Orc >= $ORC_REQ, which was\n"
- printf " not found.\n"
- fi
- fi
- printf "\n"
-])
-
diff --git a/volk/config/pkg.m4 b/volk/config/pkg.m4
deleted file mode 100644
index 2d4d96109..000000000
--- a/volk/config/pkg.m4
+++ /dev/null
@@ -1,201 +0,0 @@
-# pkg.m4 - Macros to locate and utilise pkg-config. -*- Autoconf -*-
-#
-# Copyright © 2004 Scott James Remnant <scott@netsplit.com>.
-# Copyright © 2008 Free Software Foundation, Inc.
-#
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful, but
-# WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-# General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-#
-# As a special exception to the GNU General Public License, if you
-# distribute this file as part of a program that contains a
-# configuration script generated by Autoconf, you may include it under
-# the same distribution terms that you use for the rest of that program.
-
-# PKG_PROG_PKG_CONFIG([MIN-VERSION])
-# ----------------------------------
-AC_DEFUN([PKG_PROG_PKG_CONFIG],
-[m4_pattern_forbid([^_?PKG_[A-Z_]+$])
-m4_pattern_allow([^PKG_CONFIG(_PATH)?$])
-AC_ARG_VAR([PKG_CONFIG], [path to pkg-config utility])dnl
-if test "x$ac_cv_env_PKG_CONFIG_set" != "xset"; then
- AC_PATH_TOOL([PKG_CONFIG], [pkg-config])
-fi
-if test -n "$PKG_CONFIG"; then
- _pkg_min_version=m4_default([$1], [0.18])
- AC_MSG_CHECKING([pkg-config is at least version $_pkg_min_version])
- if $PKG_CONFIG --atleast-pkgconfig-version $_pkg_min_version; then
- AC_MSG_RESULT([yes])
- else
- AC_MSG_RESULT([no])
- PKG_CONFIG=""
- fi
-
-fi[]dnl
-])# PKG_PROG_PKG_CONFIG
-
-# PKG_CHECK_EXISTS(MODULES, [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND])
-#
-# Check to see whether a particular set of modules exists. Similar
-# to PKG_CHECK_MODULES(), but does not set variables or print errors.
-#
-#
-# Similar to PKG_CHECK_MODULES, make sure that the first instance of
-# this or PKG_CHECK_MODULES is called, or make sure to call
-# PKG_CHECK_EXISTS manually
-# --------------------------------------------------------------
-AC_DEFUN([PKG_CHECK_EXISTS],
-[AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl
-if test -n "$PKG_CONFIG" && \
- AC_RUN_LOG([$PKG_CONFIG --exists --print-errors "$1"]); then
- m4_ifval([$2], [$2], [:])
-m4_ifvaln([$3], [else
- $3])dnl
-fi])
-
-
-# _PKG_CONFIG([VARIABLE], [COMMAND], [MODULES])
-# ---------------------------------------------
-m4_define([_PKG_CONFIG],
-[if test -n "$PKG_CONFIG"; then
- if test -n "$$1"; then
- pkg_cv_[]$1="$$1"
- else
- PKG_CHECK_EXISTS([$3],
- [pkg_cv_[]$1=`$PKG_CONFIG --[]$2 "$3" 2>/dev/null`],
- [pkg_failed=yes])
- fi
-else
- pkg_failed=untried
-fi[]dnl
-])# _PKG_CONFIG
-
-# _PKG_SHORT_ERRORS_SUPPORTED
-# -----------------------------
-AC_DEFUN([_PKG_SHORT_ERRORS_SUPPORTED],
-[AC_REQUIRE([PKG_PROG_PKG_CONFIG])
-if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then
- _pkg_short_errors_supported=yes
-else
- _pkg_short_errors_supported=no
-fi[]dnl
-])# _PKG_SHORT_ERRORS_SUPPORTED
-
-
-# PKG_CHECK_MODULES(VARIABLE-PREFIX, MODULES, [ACTION-IF-FOUND],
-# [ACTION-IF-NOT-FOUND])
-#
-# E.g.,
-# PKG_CHECK_MODULES(GSTUFF, gtk+-2.0 >= 1.3 glib = 1.3.4, action-if, action-not)
-# defines:
-#
-# GSTUFF_LIBS
-# GSTUFF_CFLAGS
-# GSTUFF_INCLUDEDIR
-# GSTUFF_CPPFLAGS # the -I, -D and -U's out of CFLAGS
-#
-# see pkg-config man page also defines GSTUFF_PKG_ERRORS on error
-#
-# Note that if there is a possibility the first call to
-# PKG_CHECK_MODULES might not happen, you should be sure to include an
-# explicit call to PKG_PROG_PKG_CONFIG in your configure.ac
-#
-# --------------------------------------------------------------
-AC_DEFUN([PKG_CHECK_MODULES],[
-AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl
-AC_REQUIRE([AC_CANONICAL_HOST])dnl
-AC_REQUIRE([AC_CANONICAL_BUILD])dnl
-
-AC_ARG_VAR([$1][_CFLAGS], [C compiler flags for $1, overriding pkg-config])dnl
-AC_ARG_VAR([$1][_LIBS], [linker flags for $1, overriding pkg-config])dnl
-AC_ARG_VAR([$1][_INCLUDEDIR], [includedir for $1, overriding pkg-config])dnl
-
-pkg_failed=no
-AC_MSG_CHECKING([for $1])
-
-_PKG_CONFIG([$1][_CFLAGS], [cflags], [$2])
-
-if test x$cross_compiling = xyes
-then
- dnl _PKG_CONFIG([$1][_LIBS], [libs-only-l --static], [$2])
- _PKG_CONFIG([$1][_LIBS], [libs --static], [$2])
- dnl prune out any -L/lib or -L/usr/lib since they're pointing to the wrong filesystem root
- _pkg_tmp=
- for flag in [$]pkg_cv_[$1][_LIBS]; do
- case $flag in
- (-L/lib* | -L/usr/lib* ) ;; # ignore
- (*) _pkg_tmp="$_pkg_tmp $flag" ;;
- esac
- done
- pkg_cv_[$1][_LIBS]="$_pkg_tmp"
-else
- _PKG_CONFIG([$1][_LIBS], [libs --static], [$2])
-fi
-
-_PKG_CONFIG([$1][_INCLUDEDIR], [variable=includedir], [$2])
-
-
-m4_define([_PKG_TEXT], [Alternatively, you may set the environment variables $1[]_CFLAGS
-and $1[]_LIBS to avoid the need to call pkg-config.
-See the pkg-config man page for more details.])
-
-if test $pkg_failed = yes; then
- _PKG_SHORT_ERRORS_SUPPORTED
- if test $_pkg_short_errors_supported = yes; then
- $1[]_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "$2"`
- else
- $1[]_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "$2"`
- fi
- # Put the nasty error message in config.log where it belongs
- echo "$$1[]_PKG_ERRORS" >&AS_MESSAGE_LOG_FD
-
- ifelse([$4], , [AC_MSG_ERROR(dnl
-[Package requirements ($2) were not met:
-
-$$1_PKG_ERRORS
-
-Consider adjusting the PKG_CONFIG_PATH environment variable if you
-installed software in a non-standard prefix.
-
-_PKG_TEXT
-])],
- [AC_MSG_RESULT([no])
- $4])
-elif test $pkg_failed = untried; then
- ifelse([$4], , [AC_MSG_FAILURE(dnl
-[The pkg-config script could not be found or is too old. Make sure it
-is in your PATH or set the PKG_CONFIG environment variable to the full
-path to pkg-config.
-
-_PKG_TEXT
-
-To get pkg-config, see <http://pkg-config.freedesktop.org/>.])],
- [$4])
-else
- $1[]_CFLAGS=$pkg_cv_[]$1[]_CFLAGS
- $1[]_LIBS=$pkg_cv_[]$1[]_LIBS
- $1[]_INCLUDEDIR=$pkg_cv_[]$1[]_INCLUDEDIR
-
- $1[]_CPPFLAGS=""
- for flag in $$1[]_CFLAGS; do
- case $flag in
- -I* | -D* | -U*) $1[]_CPPFLAGS="$$1[]_CPPFLAGS $flag" ;;
- esac
- done
- pkg_cv_[]$1[]_CPPFLAGS=$$1[]_CPPFLAGS
- AC_SUBST($1[]_CPPFLAGS)
-
- AC_MSG_RESULT([yes])
- ifelse([$3], , :, [$3])
-fi[]dnl
-])# PKG_CHECK_MODULES
diff --git a/volk/configure.ac b/volk/configure.ac
deleted file mode 100644
index fa3a90c7f..000000000
--- a/volk/configure.ac
+++ /dev/null
@@ -1,80 +0,0 @@
-dnl
-dnl Copyright 2010,2011 Free Software Foundation, Inc.
-dnl
-dnl This program is free software: you can redistribute it and/or modify
-dnl it under the terms of the GNU General Public License as published by
-dnl the Free Software Foundation, either version 3 of the License, or
-dnl (at your option) any later version.
-dnl
-dnl This program is distributed in the hope that it will be useful,
-dnl but WITHOUT ANY WARRANTY; without even the implied warranty of
-dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-dnl GNU General Public License for more details.
-dnl
-dnl You should have received a copy of the GNU General Public License
-dnl along with this program. If not, see <http://www.gnu.org/licenses/>.
-dnl
-
-AC_INIT
-AC_PREREQ(2.57)
-AC_CONFIG_AUX_DIR([.])
-AM_CONFIG_HEADER(config.h)
-AM_INIT_AUTOMAKE(volk,0.1)
-
-dnl This is kind of non-standard, but it sure shortens up this file :-)
-
-m4_include([config/lv_configure.m4])
-
-LV_CONFIGURE
-
-dnl Check for any libraries you need
-dnl AC_CHECK_LIBRARY
-
-dnl Check for header files you need
-dnl AC_CHECK_HEADERS(fcntl.h limits.h strings.h sys/ioctl.h sys/time.h unistd.h)
-dnl AC_CHECK_HEADERS(sys/mman.h)
-
-dnl Checks for library functions.
-dnl AC_CHECK_FUNCS([])
-
-dnl We pick up the boost cppflags, cxxflags and thread lib via GNURADIO_CORE
-dnl
-dnl If you need additional boost libraries, you'll need to
-dnl uncomment AX_BOOST_BASE, plus some of the following:
-dnl
-dnl calls AC_SUBST(BOOST_CPPFLAGS), AC_SUBST(BOOST_LDFLAGS) and defines HAVE_BOOST
-AX_BOOST_BASE([1.35])
-dnl
-dnl All the rest of these call AC_SUBST(BOOST_<foo>_LIB) and define HAVE_BOOST_<foo>
-dnl
-dnl AX_BOOST_DATE_TIME
-dnl AX_BOOST_FILESYSTEM
-dnl AX_BOOST_IOSTREAMS
-dnl AX_BOOST_PROGRAM_OPTIONS
-dnl AX_BOOST_REGEX
-dnl AX_BOOST_SERIALIZATION
-dnl AX_BOOST_SIGNALS
-dnl AX_BOOST_SYSTEM
-dnl AX_BOOST_TEST_EXEC_MONITOR
-AX_BOOST_UNIT_TEST_FRAMEWORK
-dnl AX_BOOST_WSERIALIZATION
-
-LV_SET_SIMD_FLAGS
-
-AC_CONFIG_FILES([\
- Makefile \
- config/Makefile \
- include/Makefile \
- include/volk/Makefile \
- lib/Makefile \
- orc/Makefile \
- volk.pc \
- ])
-
-AC_OUTPUT
-
-echo ""
-echo "The following architectures will be built:"
-echo " $BUILT_ARCHS"
-echo ""
-
diff --git a/volk/data/Makefile.am b/volk/data/Makefile.am
deleted file mode 100644
index d0ef08bc9..000000000
--- a/volk/data/Makefile.am
+++ /dev/null
@@ -1,30 +0,0 @@
-#
-# Copyright 2008 Free Software Foundation, Inc.
-#
-# This file is part of GNU Radio
-#
-# GNU Radio is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 3, or (at your option)
-# any later version.
-#
-# GNU Radio is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License along
-# with this program; if not, write to the Free Software Foundation, Inc.,
-# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
-#
-
-include $(top_srcdir)/Makefile.common
-
-# List your data files here. Please keep it under ~ 100KB.
-#
-# EXTRA_DIST = \
-# foo.dat \
-# bar.dat \
-# baz.dat
-
-EXTRA_DIST =
diff --git a/volk/doc/Makefile.am b/volk/doc/Makefile.am
deleted file mode 100644
index cddd72435..000000000
--- a/volk/doc/Makefile.am
+++ /dev/null
@@ -1,32 +0,0 @@
-#
-# Copyright 2008 Free Software Foundation, Inc.
-#
-# This file is part of GNU Radio
-#
-# GNU Radio is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 3, or (at your option)
-# any later version.
-#
-# GNU Radio is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License along
-# with this program; if not, write to the Free Software Foundation, Inc.,
-# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
-#
-
-include $(top_srcdir)/Makefile.common
-
-# List your doc files here
-#
-# EXTRA_DIST = \
-# on-the-meaning-of-life \
-# whatever-doesnt-make-you-stronger-kills-you
-#
-
-EXTRA_DIST =
-
-# and/or run doxygen, xmlto, etc
diff --git a/volk/gen/.gitignore b/volk/gen/.gitignore
deleted file mode 100644
index a1c468f93..000000000
--- a/volk/gen/.gitignore
+++ /dev/null
@@ -1,3 +0,0 @@
-/config
-/include
-/lib
diff --git a/volk/gen/archs.xml b/volk/gen/archs.xml
index effd90d33..ca2118475 100644
--- a/volk/gen/archs.xml
+++ b/volk/gen/archs.xml
@@ -19,7 +19,7 @@
<flag>m32</flag>
<overrule>MD_SUBCPU</overrule>
<overrule_val>x86_64</overrule_val>
-</arch>
+</arch>
<arch name="64" type="x86">
<op>0x80000001</op>
diff --git a/volk/gen/make_c.py b/volk/gen/make_c.py
index 0f9bcde34..233cb85c2 100644
--- a/volk/gen/make_c.py
+++ b/volk/gen/make_c.py
@@ -48,7 +48,7 @@ struct volk_machine *get_machine(void) {
extern struct volk_machine *volk_machines[];
extern unsigned int n_volk_machines;
static struct volk_machine *machine = NULL;
-
+
if(machine != NULL) return machine;
else {
unsigned int max_score = 0;
@@ -71,7 +71,7 @@ unsigned int volk_get_alignment(void) {
}
"""
-
+
for i in range(len(functions)):
tempstring += "void get_" + functions[i] + replace_arch.sub("", arched_arglist[i]) + "\n"
tempstring += " %s = get_machine()->%s_archs[volk_rank_archs(get_machine()->%s_indices, get_machine()->%s_arch_defs, get_machine()->%s_n_archs, get_machine()->%s_name, volk_get_lvarch())];\n" % (functions[i], functions[i], functions[i], functions[i], functions[i], functions[i])
diff --git a/volk/gen/make_config_fixed.py b/volk/gen/make_config_fixed.py
index 3fd1bdf0a..96f20b6b2 100644
--- a/volk/gen/make_config_fixed.py
+++ b/volk/gen/make_config_fixed.py
@@ -18,4 +18,4 @@ def make_config_fixed(dom) :
return tempstring;
-
+
diff --git a/volk/gen/make_cpuid_c.py b/volk/gen/make_cpuid_c.py
index 2be1123a8..e30d643cb 100644
--- a/volk/gen/make_cpuid_c.py
+++ b/volk/gen/make_cpuid_c.py
@@ -1,24 +1,24 @@
#!/usr/bin/env python
#
# Copyright 2011 Free Software Foundation, Inc.
-#
+#
# This file is part of GNU Radio
-#
+#
# GNU Radio is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 3, or (at your option)
# any later version.
-#
+#
# GNU Radio is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
-#
+#
# You should have received a copy of the GNU General Public License
# along with GNU Radio; see the file COPYING. If not, write to
# the Free Software Foundation, Inc., 51 Franklin Street,
# Boston, MA 02110-1301, USA.
-#
+#
from xml.dom import minidom
@@ -79,7 +79,7 @@ static inline unsigned int cpuid_edx(unsigned int op) {
def make_cpuid_c(dom) :
tempstring = HEADER_TEMPL;
-
+
for domarch in dom:
if str(domarch.attributes["type"].value) == "x86":
if "no_test" in domarch.attributes.keys():
@@ -103,7 +103,7 @@ def make_cpuid_c(dom) :
val = domarch.getElementsByTagName("val");
if val:
val = str(val[0].firstChild.data);
-
+
if no_test:
tempstring = tempstring + """\
int i_can_has_%s () {
@@ -113,9 +113,9 @@ int i_can_has_%s () {
return 0;
#endif
}
-
+
""" % (arch)
-
+
elif op == "1":
tempstring = tempstring + """\
int i_can_has_%s () {
@@ -144,7 +144,7 @@ int i_can_has_%s () {
}
""" % (arch, val, reg, op, shift, val)
-
+
elif str(domarch.attributes["type"].value) == "powerpc":
arch = str(domarch.attributes["name"].value);
tempstring = tempstring + """\
@@ -178,7 +178,7 @@ int i_can_has_%s () {
unsigned int found_neon = 0;
auxvec_f = fopen("/proc/self/auxv", "rb");
if(!auxvec_f) return 0;
-
+
//so auxv is basically 32b of ID and 32b of value
//so it goes like this
while(!found_neon && auxvec_f) {
@@ -186,7 +186,7 @@ int i_can_has_%s () {
if((auxvec[0] == AT_HWCAP) && (auxvec[1] & HWCAP_NEON))
found_neon = 1;
}
-
+
fclose(auxvec_f);
return found_neon;
@@ -196,7 +196,7 @@ int i_can_has_%s () {
}
""" % (arch)
-
+
elif str(domarch.attributes["type"].value) == "all":
arch = str(domarch.attributes["name"].value);
tempstring = tempstring + """\
@@ -213,7 +213,7 @@ int i_can_has_%s () {
}
""" % (arch)
-
+
tempstring = tempstring + "void volk_cpu_init() {\n";
for domarch in dom:
arch = str(domarch.attributes["name"].value);
@@ -231,9 +231,9 @@ int i_can_has_%s () {
return tempstring;
-
-
-
-
-
+
+
+
+
+
diff --git a/volk/gen/make_cpuid_h.py b/volk/gen/make_cpuid_h.py
index 4fe5c4e07..1aa783781 100644
--- a/volk/gen/make_cpuid_h.py
+++ b/volk/gen/make_cpuid_h.py
@@ -1,24 +1,24 @@
#!/usr/bin/env python
#
# Copyright 2011 Free Software Foundation, Inc.
-#
+#
# This file is part of GNU Radio
-#
+#
# GNU Radio is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 3, or (at your option)
# any later version.
-#
+#
# GNU Radio is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
-#
+#
# You should have received a copy of the GNU General Public License
# along with GNU Radio; see the file COPYING. If not, write to
# the Free Software Foundation, Inc., 51 Franklin Street,
# Boston, MA 02110-1301, USA.
-#
+#
from xml.dom import minidom
@@ -44,5 +44,5 @@ def make_cpuid_h(dom) :
tempstring = tempstring + "\n";
tempstring = tempstring + "__VOLK_DECL_END\n";
tempstring = tempstring + "#endif /*INCLUDED_VOLK_CPU_H*/\n"
-
+
return tempstring;
diff --git a/volk/gen/make_each_machine_c.py b/volk/gen/make_each_machine_c.py
index a3f6203ba..535578859 100644
--- a/volk/gen/make_each_machine_c.py
+++ b/volk/gen/make_each_machine_c.py
@@ -59,7 +59,7 @@ def make_each_machine_c(machine_name, archs, functions, fcountlist, taglist, ali
"""
for arch in archs:
tempstring += "#define LV_HAVE_" + arch.swapcase() + " 1\n"
-
+
tempstring += """
#include <volk/volk_common.h>
#include "volk_machines.h"
diff --git a/volk/gen/make_environment_init_c.py b/volk/gen/make_environment_init_c.py
index 263d5bcd1..6186162ee 100644
--- a/volk/gen/make_environment_init_c.py
+++ b/volk/gen/make_environment_init_c.py
@@ -14,7 +14,7 @@ def make_environment_init_c(dom) :
tempstring = tempstring + "#endif\n"
tempstring = tempstring + '\n\n';
tempstring = tempstring + "void volk_environment_init(){\n"
-
+
for domarch in dom:
arch = str(domarch.attributes["name"].value);
envs = domarch.getElementsByTagName("environment");
@@ -22,11 +22,11 @@ def make_environment_init_c(dom) :
cmd = str(env.firstChild.data);
tempstring = tempstring + "#ifdef LV_HAVE_" + arch.swapcase() + "\n";
tempstring = tempstring + " " + cmd + "\n";
- tempstring = tempstring + "#endif\n"
-
+ tempstring = tempstring + "#endif\n"
+
tempstring = tempstring + "}\n";
return tempstring;
-
-
+
+
diff --git a/volk/gen/make_environment_init_h.py b/volk/gen/make_environment_init_h.py
index 655d73f54..0b0f35d61 100644
--- a/volk/gen/make_environment_init_h.py
+++ b/volk/gen/make_environment_init_h.py
@@ -12,7 +12,7 @@ def make_environment_init_h() :
tempstring = tempstring + "__VOLK_DECL_END\n";
tempstring = tempstring + "#endif\n"
return tempstring;
-
-
+
+
diff --git a/volk/gen/make_h.py b/volk/gen/make_h.py
index 354e57258..cf8987c39 100644
--- a/volk/gen/make_h.py
+++ b/volk/gen/make_h.py
@@ -35,4 +35,4 @@ VOLK_API unsigned int volk_get_alignment(void);
tempstring = tempstring + "#endif /*INCLUDED_VOLK_RUNTIME*/\n";
return tempstring;
-
+
diff --git a/volk/gen/make_machines_c.py b/volk/gen/make_machines_c.py
index a7ab63d6e..f19da4ae4 100644
--- a/volk/gen/make_machines_c.py
+++ b/volk/gen/make_machines_c.py
@@ -33,7 +33,7 @@ struct volk_machine *volk_machines[] = {
tempstring += "&volk_machine_" + machine
tempstring += ","
tempstring += "\n#endif\n"
-
+
tempstring += r"""
};
unsigned int n_volk_machines = sizeof(volk_machines)/sizeof(*volk_machines);
diff --git a/volk/gen/make_machines_h.py b/volk/gen/make_machines_h.py
index a48caa89c..d2374120b 100644
--- a/volk/gen/make_machines_h.py
+++ b/volk/gen/make_machines_h.py
@@ -41,15 +41,15 @@ struct volk_machine {
tempstring += " const int %s_arch_defs[%d];\n"%(function, len(archs))
tempstring += " const %s %s_archs[%d];\n"%(replace_volk.sub("p", function), function, len(archs))
tempstring += " const int %s_n_archs;\n"%function
-
+
tempstring += r"""};
-
+
"""
for machine in machines:
tempstring += """#if LV_MACHINE_""" + machine.swapcase() + "\n"
tempstring += "extern struct volk_machine volk_machine_" + machine + ";\n"
tempstring += """#endif\n"""
-
+
tempstring += r"""
__VOLK_DECL_END
diff --git a/volk/gen/make_makefile_am.py b/volk/gen/make_makefile_am.py
index 0dc088a80..880ce4094 100644
--- a/volk/gen/make_makefile_am.py
+++ b/volk/gen/make_makefile_am.py
@@ -21,7 +21,7 @@ def make_makefile_am(dom, machines, archflags_dict):
tempstring = r"""
# This file is automatically generated by make_makefile_am.py.
# Do not edit this file.
-
+
include $(top_srcdir)/Makefile.common
AM_CPPFLAGS = $(STD_DEFINES_AND_INCLUDES) \
@@ -55,17 +55,17 @@ volk_orc_CFLAGS = -DLV_HAVE_ORC=1
volk_orc_LDFLAGS = $(ORC_LDFLAGS) -lorc-0.4
volk_orc_LIBADD = ../orc/libvolk_orc.la
else
-volk_orc_CFLAGS =
+volk_orc_CFLAGS =
volk_orc_LDFLAGS =
-volk_orc_LIBADD =
+volk_orc_LIBADD =
endif
libvolk_la_CPPFLAGS = $(AM_CPPFLAGS) $(volk_orc_CFLAGS)
libvolk_la_LDFLAGS = $(NO_UNDEFINED) -version-info 0:0:0 $(volk_orc_LDFLAGS)
libvolk_la_LIBADD = $(volk_orc_LIBADD)
-noinst_LTLIBRARIES =
-
+noinst_LTLIBRARIES =
+
"""
#here be dragons
@@ -76,7 +76,7 @@ noinst_LTLIBRARIES =
for arch in machines[machine_name]:
if archflags_dict[arch] != "none":
tempstring += "-" + archflags_dict[arch] + " "
-
+
tempstring += "\nnoinst_LTLIBRARIES += libvolk_" + machine_name + ".la "
tempstring += "\nlibvolk_la_LIBADD += libvolk_" + machine_name + ".la\n"
tempstring += "libvolk_la_CPPFLAGS += -DLV_MACHINE_" + machine_name.swapcase() + " \n"
diff --git a/volk/gen/make_proccpu_sim.py b/volk/gen/make_proccpu_sim.py
index 029dacfcc..e2c8123e5 100644
--- a/volk/gen/make_proccpu_sim.py
+++ b/volk/gen/make_proccpu_sim.py
@@ -1,24 +1,24 @@
#!/usr/bin/env python
#
# Copyright 2011 Free Software Foundation, Inc.
-#
+#
# This file is part of GNU Radio
-#
+#
# GNU Radio is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 3, or (at your option)
# any later version.
-#
+#
# GNU Radio is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
-#
+#
# You should have received a copy of the GNU General Public License
# along with GNU Radio; see the file COPYING. If not, write to
# the Free Software Foundation, Inc., 51 Franklin Street,
# Boston, MA 02110-1301, USA.
-#
+#
from xml.dom import minidom
@@ -35,7 +35,7 @@ def make_proccpu_sim(dom) :
tempstring = tempstring + " }\n";
tempstring = tempstring + "}\n";
tempstring = tempstring + "\n\n";
-
+
tempstring = tempstring + "int main() {\n";
tempstring = tempstring + " volk_cpu_init();\n";
tempstring = tempstring + " char buf[2048];\n";
diff --git a/volk/gen/make_set_simd.py b/volk/gen/make_set_simd.py
index 5a848e59e..8334487d7 100644
--- a/volk/gen/make_set_simd.py
+++ b/volk/gen/make_set_simd.py
@@ -43,17 +43,17 @@ def make_set_simd(dom, machines) :
tempstring = tempstring + " indLV_ARCH=no\n";
tempstring = tempstring + " AC_ARG_WITH(lv_arch,\n";
tempstring = tempstring + " AC_HELP_STRING([--with-lv_arch=ARCH],[set volk hardware speedups as space separated string with elements from the following list(";
-
+
for domarch in dom:
arch = str(domarch.attributes["name"].value);
tempstring = tempstring + arch + ", "
tempstring = tempstring[0:len(tempstring) - 2];
-
+
tempstring = tempstring + ")]),\n";
tempstring = tempstring + " [cf_with_lv_arch=\"$withval\"],\n";
tempstring = tempstring + " [cf_with_lv_arch=\"\"])\n";
if str(domarch.attributes["type"].value) == "all":
- arch = str(domarch.attributes["name"].value);
+ arch = str(domarch.attributes["name"].value);
tempstring = tempstring + " AC_DEFINE(LV_MAKE_" + arch.swapcase() + ", 1, [always set "+ arch + "!])\n";
tempstring = tempstring + " ADDONS=\"\"\n";
tempstring = tempstring + " BUILT_ARCHS=\"\"\n";
@@ -67,7 +67,7 @@ def make_set_simd(dom, machines) :
tempstring = tempstring[0:-1] + "\"\n";
tempstring = tempstring + " OVERRULE_FLAG=\"yes\"\n";
tempstring = tempstring + " fi\n";
-
+
tempstring = tempstring +'\ndnl init LV_MAKE_XXX and then try to add archs\n';
for domarch in dom:
if str(domarch.attributes["type"].value) != "all":
@@ -118,9 +118,9 @@ def make_set_simd(dom, machines) :
tempstring = tempstring + " if test -n \"" + overrule + "\" && test \"$" + overrule + "\" == \"" + overrule_val + "\" && test \"$OVERRULE_FLAG\" == \"yes\" && test \"$indLV_ARCH\" == \"yes\"; then\n"
tempstring = tempstring + " indLV_ARCH=no\n"
tempstring = tempstring + " fi\n"
-
- tempstring = tempstring + " if test \"$indCC\" == \"yes\" && test \"$indCXX\" == \"yes\" && test \"$indLV_ARCH\" == \"yes\"; then\n"
-
+
+ tempstring = tempstring + " if test \"$indCC\" == \"yes\" && test \"$indCXX\" == \"yes\" && test \"$indLV_ARCH\" == \"yes\"; then\n"
+
#tempstring = tempstring + " ADDONS=\"${ADDONS} -" + flag + "\"\n";
tempstring = tempstring + " BUILT_ARCHS=\"${BUILT_ARCHS} " + arch + "\"\n";
tempstring = tempstring + " LV_MAKE_" + arch.swapcase() + "=yes\n";
@@ -138,17 +138,17 @@ def make_set_simd(dom, machines) :
tempstring = tempstring + " if test -n \"" + overrule + "\" && test \"$" + overrule + "\" == \"" + overrule_val + "\" && test \"$OVERRULE_FLAG\" == \"yes\" && test \"$indLV_ARCH\" == \"yes\"; then\n"
tempstring = tempstring + " indLV_ARCH=no\n"
tempstring = tempstring + " fi\n"
- tempstring = tempstring + " if test \"$indLV_ARCH\" == \"yes\"; then\n"
+ tempstring = tempstring + " if test \"$indLV_ARCH\" == \"yes\"; then\n"
tempstring = tempstring + " LV_MAKE_" + arch.swapcase() + "=yes\n";
tempstring = tempstring + " BUILT_ARCHS=\"${BUILT_ARCHS} " + arch + "\"\n";
tempstring = tempstring + " fi\n"
tempstring = tempstring + " indLV_ARCH=no\n"
-
+
for domarch in dom:
arch = str(domarch.attributes["name"].value);
tempstring = tempstring + " AM_CONDITIONAL(LV_MAKE_" + arch.swapcase() + ", test \"$LV_MAKE_" + arch.swapcase() + "\" == \"yes\")\n";
-
+
tempstring += "\n"
#now we can define the machines we're compiling
for machine_name in machines:
@@ -156,11 +156,11 @@ def make_set_simd(dom, machines) :
marchlist = machines[machine_name]
for march in marchlist:
tempstring += "test \"$LV_MAKE_" + march.swapcase() + "\" == \"yes\" && "
-
+
tempstring += "test true)\n" #just so we don't have to detect the last one in the group, i know
tempstring = tempstring + " LV_CXXFLAGS=\"${LV_CXXFLAGS} ${ADDONS}\"\n"
tempstring = tempstring + "])\n"
-
+
return tempstring;
-
+
diff --git a/volk/gen/make_typedefs.py b/volk/gen/make_typedefs.py
index 8f9f2b55e..09221d2ef 100644
--- a/volk/gen/make_typedefs.py
+++ b/volk/gen/make_typedefs.py
@@ -15,7 +15,7 @@ def make_typedefs(funclist, retlist, my_argtypelist) :
tempstring = tempstring + '\n';
- for i in range(len(funclist)):
+ for i in range(len(funclist)):
tempstring = tempstring + "typedef " + retlist[i] +" (*" + replace_volk.sub("p", funclist[i]) + ")(" + my_argtypelist[i] + ");\n";
tempstring = tempstring + "#endif /*INCLUDED_VOLK_TYPEDEFS*/\n";
diff --git a/volk/gen/volk_register.py b/volk/gen/volk_register.py
index 0774ece29..3a237c5ca 100644
--- a/volk/gen/volk_register.py
+++ b/volk/gen/volk_register.py
@@ -62,7 +62,7 @@ for line in hdr_files:
subdtype = re.search("[0-9]+[A-z]+", dtype);
if subdtype:
datatypes.append(subdtype.group(0));
-
+
datatypes = set(datatypes);
@@ -71,7 +71,7 @@ for line in hdr_files:
if dt in line:
subline = re.search("(volk_" + dt +"_.*(a|u).*\.h)", line);
if subline:
-
+
subsubline = re.search(".+(?=\.h)", subline.group(0));
functions.append(subsubline.group(0));
@@ -80,13 +80,13 @@ afile = minidom.parse(os.path.join(srcdir, "gen/archs.xml"))
filearchs = afile.getElementsByTagName("arch");
for filearch in filearchs:
archs.append(str(filearch.attributes["name"].value));
-
+
for arch in archs:
a_var = re.search("^\$", arch);
if a_var:
archs.remove(arch);
-
-#strip out mutex archs
+
+#strip out mutex archs
archflags_dict = {}
for filearch in filearchs:
@@ -177,22 +177,22 @@ for func in functions:
tag = re.search("\w+", tag.group(0));
if tag:
tags.append(tag.group(0));
-
-
+
+
if begun_name == 0:
retline = re.search(".+(?=" + func + ")", line);
if retline:
ret = retline.group(0);
-
-
-
-
+
+
+
+
subline = re.search(func + ".*", line);
if subline:
subsubline = re.search("\(.*?\)", subline.group(0));
if subsubline:
args = subsubline.group(0);
-
+
else:
begun_name = 1;
subsubline = re.search("\(.*", subline.group(0));
@@ -214,25 +214,25 @@ for func in functions:
if subline:
args = subline.group(0);
begun_name = 0;
- else:
+ else:
subline = re.search("\(.*", line);
if subline:
args = subline.group(0);
begun_paren = 1;
-
+
replace = re.compile("static ");
ret = replace.sub("", ret);
replace = re.compile("inline ");
ret = replace.sub("", ret);
replace = re.compile("\)");
arched_args = replace.sub(", const char* arch) {", args);
-
+
remove = re.compile('\)|\(|{');
rargs = remove.sub("", args);
sargs = rargs.split(',');
-
-
-
+
+
+
margs = [];
atypes = [];
for arg in sargs:
@@ -241,7 +241,7 @@ for func in functions:
replace = re.compile(" " + temp[-1]);
atypes.append(replace.sub("", arg));
-
+
my_args = ""
arg_types = ""
for arg in range(0, len(margs) - 1):
@@ -255,7 +255,7 @@ for func in functions:
this_type = leading_space_remove.sub("", atypes[-1]);
arg_types = arg_types + this_type;
my_argtypelist.append(arg_types);
-
+
if(ret[-1] != ' '):
ret = ret + ' ';
@@ -263,7 +263,7 @@ for func in functions:
my_arglist.append(my_args) #!!!!!!!!!!!!!!!!!
retlist.append(ret);
fcountlist.append(fcount);
- taglist.append(tags);
+ taglist.append(tags);
outfile_cpu_h.write(make_cpuid_h(filearchs));
diff --git a/volk/include/.gitignore b/volk/include/.gitignore
deleted file mode 100644
index 378f771f5..000000000
--- a/volk/include/.gitignore
+++ /dev/null
@@ -1,10 +0,0 @@
-/*.cache
-/*.la
-/*.lo
-/*.pc
-/.deps
-/.la
-/.libs
-/.lo
-/Makefile
-/Makefile.in
diff --git a/volk/include/Makefile.am b/volk/include/Makefile.am
deleted file mode 100644
index 375d1a7d5..000000000
--- a/volk/include/Makefile.am
+++ /dev/null
@@ -1,23 +0,0 @@
-#
-# Copyright 2008 Free Software Foundation, Inc.
-#
-# This file is part of GNU Radio
-#
-# GNU Radio is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 3, or (at your option)
-# any later version.
-#
-# GNU Radio is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License along
-# with this program; if not, write to the Free Software Foundation, Inc.,
-# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
-#
-
-include $(top_srcdir)/Makefile.common
-
-SUBDIRS = volk
diff --git a/volk/include/volk/.gitignore b/volk/include/volk/.gitignore
deleted file mode 100644
index b336cc7ce..000000000
--- a/volk/include/volk/.gitignore
+++ /dev/null
@@ -1,2 +0,0 @@
-/Makefile
-/Makefile.in
diff --git a/volk/include/volk/Makefile.am b/volk/include/volk/Makefile.am
deleted file mode 100644
index a01ddf193..000000000
--- a/volk/include/volk/Makefile.am
+++ /dev/null
@@ -1,140 +0,0 @@
-#
-# Copyright 2010,2011 Free Software Foundation, Inc.
-#
-# This file is part of GNU Radio
-#
-# GNU Radio is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 3, or (at your option)
-# any later version.
-#
-# GNU Radio is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License along
-# with this program; if not, write to the Free Software Foundation, Inc.,
-# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
-#
-
-include $(top_srcdir)/Makefile.common
-
-AM_CPPFLAGS = $(STD_DEFINES_AND_INCLUDES) \
- $(LV_CXXFLAGS) $(WITH_INCLUDES)
-
-volkincludedir = $(prefix)/include/volk
-
-volkinclude_HEADERS = \
- volk_complex.h \
- volk_common.h \
- volk_prefs.h \
- $(top_gendir)/include/volk/volk_config_fixed.h \
- $(top_gendir)/include/volk/volk_typedefs.h \
- $(top_gendir)/include/volk/volk.h \
- $(top_gendir)/include/volk/volk_cpu.h \
- volk_16i_x5_add_quad_16i_x4_a.h \
- volk_16i_branch_4_state_8_a.h \
- volk_16ic_deinterleave_16i_x2_a.h \
- volk_16ic_s32f_deinterleave_32f_x2_a.h \
- volk_16ic_deinterleave_real_16i_a.h \
- volk_16ic_s32f_deinterleave_real_32f_a.h \
- volk_16ic_deinterleave_real_8i_a.h \
- volk_16ic_magnitude_16i_a.h \
- volk_16ic_s32f_magnitude_32f_a.h \
- volk_16i_s32f_convert_32f_a.h \
- volk_16i_s32f_convert_32f_u.h \
- volk_16i_convert_8i_a.h \
- volk_16i_convert_8i_u.h \
- volk_16i_max_star_16i_a.h \
- volk_16i_max_star_horizontal_16i_a.h \
- volk_16i_permute_and_scalar_add_a.h \
- volk_16i_x4_quad_max_star_16i_a.h \
- volk_16u_byteswap_a.h \
- volk_32f_accumulator_s32f_a.h \
- volk_32f_x2_add_32f_a.h \
- volk_32f_x2_add_32f_u.h \
- volk_32f_s32f_multiply_32f_a.h \
- volk_32f_s32f_multiply_32f_u.h \
- volk_32fc_32f_multiply_32fc_a.h \
- volk_32fc_s32fc_multiply_32fc_a.h \
- volk_32fc_s32fc_multiply_32fc_u.h \
- volk_32fc_x2_multiply_conjugate_32fc_a.h \
- volk_32fc_x2_multiply_conjugate_32fc_u.h \
- volk_32fc_s32f_power_32fc_a.h \
- volk_32f_s32f_calc_spectral_noise_floor_32f_a.h \
- volk_32fc_s32f_atan2_32f_a.h \
- volk_32fc_x2_conjugate_dot_prod_32fc_a.h \
- volk_32fc_x2_conjugate_dot_prod_32fc_u.h \
- volk_32fc_deinterleave_32f_x2_a.h \
- volk_32fc_deinterleave_64f_x2_a.h \
- volk_32fc_s32f_deinterleave_real_16i_a.h \
- volk_32fc_deinterleave_real_32f_a.h \
- volk_32fc_deinterleave_imag_32f_a.h \
- volk_32fc_deinterleave_real_64f_a.h \
- volk_32fc_x2_dot_prod_32fc_a.h \
- volk_32fc_x2_dot_prod_32fc_u.h \
- volk_32fc_index_max_16u_a.h \
- volk_32fc_s32f_magnitude_16i_a.h \
- volk_32fc_magnitude_32f_a.h \
- volk_32fc_magnitude_32f_u.h \
- volk_32fc_magnitude_squared_32f_a.h \
- volk_32fc_magnitude_squared_32f_u.h \
- volk_32fc_x2_multiply_32fc_a.h \
- volk_32fc_x2_multiply_32fc_u.h \
- volk_32f_s32f_convert_16i_a.h \
- volk_32f_s32f_convert_16i_u.h \
- volk_32f_s32f_convert_32i_a.h \
- volk_32f_s32f_convert_32i_u.h \
- volk_32f_convert_64f_a.h \
- volk_32f_convert_64f_u.h \
- volk_32f_s32f_convert_8i_a.h \
- volk_32f_s32f_convert_8i_u.h \
- volk_32fc_s32f_x2_power_spectral_density_32f_a.h \
- volk_32fc_s32f_power_spectrum_32f_a.h \
- volk_32fc_x2_square_dist_32f_a.h \
- volk_32fc_x2_s32f_square_dist_scalar_mult_32f_a.h \
- volk_32f_x2_divide_32f_a.h \
- volk_32f_x2_dot_prod_32f_a.h \
- volk_32f_x2_dot_prod_32f_u.h \
- volk_32f_s32f_32f_fm_detect_32f_a.h \
- volk_32f_index_max_16u_a.h \
- volk_32f_x2_s32f_interleave_16ic_a.h \
- volk_32f_x2_interleave_32fc_a.h \
- volk_32f_x2_max_32f_a.h \
- volk_32f_x2_min_32f_a.h \
- volk_32f_x2_multiply_32f_a.h \
- volk_32f_x2_multiply_32f_u.h \
- volk_32f_s32f_normalize_a.h \
- volk_32f_s32f_power_32f_a.h \
- volk_32f_sqrt_32f_a.h \
- volk_32f_s32f_stddev_32f_a.h \
- volk_32f_stddev_and_mean_32f_x2_a.h \
- volk_32f_x2_subtract_32f_a.h \
- volk_32f_x3_sum_of_poly_32f_a.h \
- volk_32i_x2_and_32i_a.h \
- volk_32i_s32f_convert_32f_a.h \
- volk_32i_s32f_convert_32f_u.h \
- volk_32i_x2_or_32i_a.h \
- volk_32u_byteswap_a.h \
- volk_32u_popcnt_a.h \
- volk_64f_convert_32f_a.h \
- volk_64f_convert_32f_u.h \
- volk_64f_x2_max_64f_a.h \
- volk_64f_x2_min_64f_a.h \
- volk_64u_byteswap_a.h \
- volk_64u_popcnt_a.h \
- volk_8ic_deinterleave_16i_x2_a.h \
- volk_8ic_s32f_deinterleave_32f_x2_a.h \
- volk_8ic_deinterleave_real_16i_a.h \
- volk_8ic_s32f_deinterleave_real_32f_a.h \
- volk_8ic_deinterleave_real_8i_a.h \
- volk_8ic_x2_multiply_conjugate_16ic_a.h \
- volk_8ic_x2_s32f_multiply_conjugate_32fc_a.h \
- volk_8i_convert_16i_a.h \
- volk_8i_convert_16i_u.h \
- volk_8i_s32f_convert_32f_a.h \
- volk_8i_s32f_convert_32f_u.h \
- volk_32fc_conjugate_32fc_a.h \
- volk_32fc_conjugate_32fc_u.h
-
diff --git a/volk/include/volk/volk_16i_branch_4_state_8_a.h b/volk/include/volk/volk_16i_branch_4_state_8_a.h
index 0424e66e9..6338fbdd1 100644
--- a/volk/include/volk/volk_16i_branch_4_state_8_a.h
+++ b/volk/include/volk/volk_16i_branch_4_state_8_a.h
@@ -3,7 +3,7 @@
#include<inttypes.h>
-#include<stdio.h>
+#include<stdio.h>
@@ -15,32 +15,32 @@
#include<tmmintrin.h>
static inline void volk_16i_branch_4_state_8_a_ssse3(short* target, short* src0, char** permuters, short* cntl2, short* cntl3, short* scalars) {
-
-
+
+
__m128i xmm0, xmm1, xmm2, xmm3, xmm4, xmm5, xmm6, xmm7, xmm8, xmm9, xmm10, xmm11;
__m128i *p_target, *p_src0, *p_cntl2, *p_cntl3, *p_scalars;
-
-
+
+
p_target = (__m128i*)target;
p_src0 = (__m128i*)src0;
p_cntl2 = (__m128i*)cntl2;
p_cntl3 = (__m128i*)cntl3;
p_scalars = (__m128i*)scalars;
-
+
int i = 0;
-
+
int bound = 1;
-
-
+
+
xmm0 = _mm_load_si128(p_scalars);
-
+
xmm1 = _mm_shufflelo_epi16(xmm0, 0);
xmm2 = _mm_shufflelo_epi16(xmm0, 0x55);
xmm3 = _mm_shufflelo_epi16(xmm0, 0xaa);
xmm4 = _mm_shufflelo_epi16(xmm0, 0xff);
-
+
xmm1 = _mm_shuffle_epi32(xmm1, 0x00);
xmm2 = _mm_shuffle_epi32(xmm2, 0x00);
xmm3 = _mm_shuffle_epi32(xmm3, 0x00);
@@ -52,40 +52,40 @@ static inline void volk_16i_branch_4_state_8_a_ssse3(short* target, short* src
xmm10 = _mm_load_si128((__m128i*)permuters[3]);
for(; i < bound; ++i) {
-
+
xmm5 = _mm_load_si128(p_src0);
-
-
-
-
-
-
-
+
+
+
+
+
+
+
xmm0 = _mm_shuffle_epi8(xmm5, xmm0);
xmm6 = _mm_shuffle_epi8(xmm5, xmm6);
xmm8 = _mm_shuffle_epi8(xmm5, xmm8);
xmm10 = _mm_shuffle_epi8(xmm5, xmm10);
-
+
p_src0 += 4;
-
-
+
+
xmm5 = _mm_add_epi16(xmm1, xmm2);
-
+
xmm6 = _mm_add_epi16(xmm2, xmm6);
xmm8 = _mm_add_epi16(xmm1, xmm8);
-
-
+
+
xmm7 = _mm_load_si128(p_cntl2);
xmm9 = _mm_load_si128(p_cntl3);
-
+
xmm0 = _mm_add_epi16(xmm5, xmm0);
-
-
+
+
xmm7 = _mm_and_si128(xmm7, xmm3);
xmm9 = _mm_and_si128(xmm9, xmm4);
-
+
xmm5 = _mm_load_si128(&p_cntl2[1]);
xmm11 = _mm_load_si128(&p_cntl3[1]);
@@ -95,96 +95,96 @@ static inline void volk_16i_branch_4_state_8_a_ssse3(short* target, short* src
xmm11 = _mm_and_si128(xmm11, xmm4);
xmm0 = _mm_add_epi16(xmm0, xmm7);
-
-
-
+
+
+
xmm7 = _mm_load_si128(&p_cntl2[2]);
xmm9 = _mm_load_si128(&p_cntl3[2]);
-
+
xmm5 = _mm_add_epi16(xmm5, xmm11);
-
+
xmm7 = _mm_and_si128(xmm7, xmm3);
xmm9 = _mm_and_si128(xmm9, xmm4);
-
+
xmm6 = _mm_add_epi16(xmm6, xmm5);
-
-
+
+
xmm5 = _mm_load_si128(&p_cntl2[3]);
xmm11 = _mm_load_si128(&p_cntl3[3]);
-
+
xmm7 = _mm_add_epi16(xmm7, xmm9);
-
+
xmm5 = _mm_and_si128(xmm5, xmm3);
xmm11 = _mm_and_si128(xmm11, xmm4);
-
+
xmm8 = _mm_add_epi16(xmm8, xmm7);
-
+
xmm5 = _mm_add_epi16(xmm5, xmm11);
-
+
_mm_store_si128(p_target, xmm0);
_mm_store_si128(&p_target[1], xmm6);
xmm10 = _mm_add_epi16(xmm5, xmm10);
-
+
_mm_store_si128(&p_target[2], xmm8);
-
+
_mm_store_si128(&p_target[3], xmm10);
-
- p_target += 3;
+
+ p_target += 3;
}
}
-
-
+
+
#endif /*LV_HAVE_SSEs*/
#ifdef LV_HAVE_GENERIC
static inline void volk_16i_branch_4_state_8_a_generic(short* target, short* src0, char** permuters, short* cntl2, short* cntl3, short* scalars) {
int i = 0;
-
+
int bound = 4;
-
+
for(; i < bound; ++i) {
- target[i* 8] = src0[((char)permuters[i][0])/2]
+ target[i* 8] = src0[((char)permuters[i][0])/2]
+ ((i + 1)%2 * scalars[0])
+ (((i >> 1)^1) * scalars[1])
+ (cntl2[i * 8] & scalars[2])
+ (cntl3[i * 8] & scalars[3]);
- target[i* 8 + 1] = src0[((char)permuters[i][1 * 2])/2]
+ target[i* 8 + 1] = src0[((char)permuters[i][1 * 2])/2]
+ ((i + 1)%2 * scalars[0])
+ (((i >> 1)^1) * scalars[1])
+ (cntl2[i * 8 + 1] & scalars[2])
+ (cntl3[i * 8 + 1] & scalars[3]);
- target[i* 8 + 2] = src0[((char)permuters[i][2 * 2])/2]
+ target[i* 8 + 2] = src0[((char)permuters[i][2 * 2])/2]
+ ((i + 1)%2 * scalars[0])
+ (((i >> 1)^1) * scalars[1])
+ (cntl2[i * 8 + 2] & scalars[2])
+ (cntl3[i * 8 + 2] & scalars[3]);
- target[i* 8 + 3] = src0[((char)permuters[i][3 * 2])/2]
+ target[i* 8 + 3] = src0[((char)permuters[i][3 * 2])/2]
+ ((i + 1)%2 * scalars[0])
+ (((i >> 1)^1) * scalars[1])
+ (cntl2[i * 8 + 3] & scalars[2])
+ (cntl3[i * 8 + 3] & scalars[3]);
- target[i* 8 + 4] = src0[((char)permuters[i][4 * 2])/2]
+ target[i* 8 + 4] = src0[((char)permuters[i][4 * 2])/2]
+ ((i + 1)%2 * scalars[0])
+ (((i >> 1)^1) * scalars[1])
+ (cntl2[i * 8 + 4] & scalars[2])
+ (cntl3[i * 8 + 4] & scalars[3]);
- target[i* 8 + 5] = src0[((char)permuters[i][5 * 2])/2]
+ target[i* 8 + 5] = src0[((char)permuters[i][5 * 2])/2]
+ ((i + 1)%2 * scalars[0])
+ (((i >> 1)^1) * scalars[1])
+ (cntl2[i * 8 + 5] & scalars[2])
+ (cntl3[i * 8 + 5] & scalars[3]);
- target[i* 8 + 6] = src0[((char)permuters[i][6 * 2])/2]
+ target[i* 8 + 6] = src0[((char)permuters[i][6 * 2])/2]
+ ((i + 1)%2 * scalars[0])
+ (((i >> 1)^1) * scalars[1])
+ (cntl2[i * 8 + 6] & scalars[2])
+ (cntl3[i * 8 + 6] & scalars[3]);
- target[i* 8 + 7] = src0[((char)permuters[i][7 * 2])/2]
+ target[i* 8 + 7] = src0[((char)permuters[i][7 * 2])/2]
+ ((i + 1)%2 * scalars[0])
+ (((i >> 1)^1) * scalars[1])
+ (cntl2[i * 8 + 7] & scalars[2])
+ (cntl3[i * 8 + 7] & scalars[3]);
-
+
}
}
diff --git a/volk/include/volk/volk_16i_convert_8i_a.h b/volk/include/volk/volk_16i_convert_8i_a.h
index 8046035c7..84548c8c5 100644
--- a/volk/include/volk/volk_16i_convert_8i_a.h
+++ b/volk/include/volk/volk_16i_convert_8i_a.h
@@ -15,7 +15,7 @@
static inline void volk_16i_convert_8i_a_sse2(int8_t* outputVector, const int16_t* inputVector, unsigned int num_points){
unsigned int number = 0;
const unsigned int sixteenthPoints = num_points / 16;
-
+
int8_t* outputVectorPtr = outputVector;
int16_t* inputPtr = (int16_t*)inputVector;
__m128i inputVal1;
@@ -30,7 +30,7 @@ static inline void volk_16i_convert_8i_a_sse2(int8_t* outputVector, const int16_
inputVal1 = _mm_srai_epi16(inputVal1, 8);
inputVal2 = _mm_srai_epi16(inputVal2, 8);
-
+
ret = _mm_packs_epi16(inputVal1, inputVal2);
_mm_store_si128((__m128i*)outputVectorPtr, ret);
diff --git a/volk/include/volk/volk_16i_convert_8i_u.h b/volk/include/volk/volk_16i_convert_8i_u.h
index df1084fe0..80608a141 100644
--- a/volk/include/volk/volk_16i_convert_8i_u.h
+++ b/volk/include/volk/volk_16i_convert_8i_u.h
@@ -16,7 +16,7 @@
static inline void volk_16i_convert_8i_u_sse2(int8_t* outputVector, const int16_t* inputVector, unsigned int num_points){
unsigned int number = 0;
const unsigned int sixteenthPoints = num_points / 16;
-
+
int8_t* outputVectorPtr = outputVector;
int16_t* inputPtr = (int16_t*)inputVector;
__m128i inputVal1;
@@ -31,7 +31,7 @@ static inline void volk_16i_convert_8i_u_sse2(int8_t* outputVector, const int16_
inputVal1 = _mm_srai_epi16(inputVal1, 8);
inputVal2 = _mm_srai_epi16(inputVal2, 8);
-
+
ret = _mm_packs_epi16(inputVal1, inputVal2);
_mm_storeu_si128((__m128i*)outputVectorPtr, ret);
diff --git a/volk/include/volk/volk_16i_max_star_16i_a.h b/volk/include/volk/volk_16i_max_star_16i_a.h
index 28197ddef..edfff8a82 100644
--- a/volk/include/volk/volk_16i_max_star_16i_a.h
+++ b/volk/include/volk/volk_16i_max_star_16i_a.h
@@ -3,7 +3,7 @@
#include<inttypes.h>
-#include<stdio.h>
+#include<stdio.h>
#ifdef LV_HAVE_SSSE3
@@ -15,82 +15,82 @@
static inline void volk_16i_max_star_16i_a_ssse3(short* target, short* src0, unsigned int num_bytes) {
-
+
short candidate = src0[0];
short cands[8];
__m128i xmm0, xmm1, xmm3, xmm4, xmm5, xmm6;
-
+
__m128i *p_src0;
-
+
p_src0 = (__m128i*)src0;
int bound = num_bytes >> 4;
int leftovers = (num_bytes >> 1) & 7;
-
+
int i = 0;
-
-
+
+
xmm1 = _mm_setzero_si128();
xmm0 = _mm_setzero_si128();
//_mm_insert_epi16(xmm0, candidate, 0);
-
- xmm0 = _mm_shuffle_epi8(xmm0, xmm1);
-
+ xmm0 = _mm_shuffle_epi8(xmm0, xmm1);
+
+
for(i = 0; i < bound; ++i) {
xmm1 = _mm_load_si128(p_src0);
p_src0 += 1;
//xmm2 = _mm_sub_epi16(xmm1, xmm0);
-
-
-
-
-
+
+
+
+
+
xmm3 = _mm_cmpgt_epi16(xmm0, xmm1);
xmm4 = _mm_cmpeq_epi16(xmm0, xmm1);
xmm5 = _mm_cmpgt_epi16(xmm1, xmm0);
xmm6 = _mm_xor_si128(xmm4, xmm5);
-
+
xmm3 = _mm_and_si128(xmm3, xmm0);
xmm4 = _mm_and_si128(xmm6, xmm1);
-
+
xmm0 = _mm_add_epi16(xmm3, xmm4);
-
-
+
+
}
-
+
_mm_store_si128((__m128i*)cands, xmm0);
-
+
for(i = 0; i < 8; ++i) {
candidate = ((short)(candidate - cands[i]) > 0) ? candidate : cands[i];
}
-
-
-
+
+
+
for(i = 0; i < leftovers; ++i) {
-
+
candidate = ((short)(candidate - src0[(bound << 3) + i]) > 0) ? candidate : src0[(bound << 3) + i];
}
target[0] = candidate;
-
-
-
-
-}
-
+
+
+
+
+}
+
#endif /*LV_HAVE_SSSE3*/
#ifdef LV_HAVE_GENERIC
static inline void volk_16i_max_star_16i_a_generic(short* target, short* src0, unsigned int num_bytes) {
-
+
int i = 0;
-
+
int bound = num_bytes >> 1;
short candidate = src0[0];
@@ -98,7 +98,7 @@ static inline void volk_16i_max_star_16i_a_generic(short* target, short* src0, u
candidate = ((short)(candidate - src0[i]) > 0) ? candidate : src0[i];
}
target[0] = candidate;
-
+
}
diff --git a/volk/include/volk/volk_16i_max_star_horizontal_16i_a.h b/volk/include/volk/volk_16i_max_star_horizontal_16i_a.h
index a10a62350..c1c908425 100644
--- a/volk/include/volk/volk_16i_max_star_horizontal_16i_a.h
+++ b/volk/include/volk/volk_16i_max_star_horizontal_16i_a.h
@@ -4,7 +4,7 @@
#include <volk/volk_common.h>
#include<inttypes.h>
-#include<stdio.h>
+#include<stdio.h>
#ifdef LV_HAVE_SSSE3
@@ -20,107 +20,107 @@ static inline void volk_16i_max_star_horizontal_16i_a_ssse3(int16_t* target, in
const static uint8_t andmask0[16] = {0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02,0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
const static uint8_t andmask1[16] = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02};
-
-
+
+
__m128i xmm0, xmm1, xmm2, xmm3, xmm4;
__m128i xmm5, xmm6, xmm7, xmm8;
-
+
xmm4 = _mm_load_si128((__m128i*)shufmask0);
xmm5 = _mm_load_si128((__m128i*)shufmask1);
xmm6 = _mm_load_si128((__m128i*)andmask0);
xmm7 = _mm_load_si128((__m128i*)andmask1);
-
+
__m128i *p_target, *p_src0;
-
+
p_target = (__m128i*)target;
p_src0 = (__m128i*)src0;
int bound = num_bytes >> 5;
int intermediate = (num_bytes >> 4) & 1;
int leftovers = (num_bytes >> 1) & 7;
-
+
int i = 0;
-
-
+
+
for(i = 0; i < bound; ++i) {
-
+
xmm0 = _mm_load_si128(p_src0);
xmm1 = _mm_load_si128(&p_src0[1]);
-
-
+
+
xmm2 = _mm_xor_si128(xmm2, xmm2);
p_src0 += 2;
-
+
xmm3 = _mm_hsub_epi16(xmm0, xmm1);
-
- xmm2 = _mm_cmpgt_epi16(xmm2, xmm3);
+
+ xmm2 = _mm_cmpgt_epi16(xmm2, xmm3);
xmm8 = _mm_and_si128(xmm2, xmm6);
xmm3 = _mm_and_si128(xmm2, xmm7);
-
+
xmm8 = _mm_add_epi8(xmm8, xmm4);
xmm3 = _mm_add_epi8(xmm3, xmm5);
xmm0 = _mm_shuffle_epi8(xmm0, xmm8);
xmm1 = _mm_shuffle_epi8(xmm1, xmm3);
-
-
+
+
xmm3 = _mm_add_epi16(xmm0, xmm1);
-
+
_mm_store_si128(p_target, xmm3);
-
+
p_target += 1;
-
+
}
for(i = 0; i < intermediate; ++i) {
-
+
xmm0 = _mm_load_si128(p_src0);
-
-
+
+
xmm2 = _mm_xor_si128(xmm2, xmm2);
p_src0 += 1;
-
+
xmm3 = _mm_hsub_epi16(xmm0, xmm1);
xmm2 = _mm_cmpgt_epi16(xmm2, xmm3);
xmm8 = _mm_and_si128(xmm2, xmm6);
-
+
xmm3 = _mm_add_epi8(xmm8, xmm4);
-
+
xmm0 = _mm_shuffle_epi8(xmm0, xmm3);
-
+
_mm_storel_pd((double*)p_target, bit128_p(&xmm0)->double_vec);
-
+
p_target = (__m128i*)((int8_t*)p_target + 8);
}
-
- for(i = (bound << 4) + (intermediate << 3); i < (bound << 4) + (intermediate << 3) + leftovers ; i += 2) {
+
+ for(i = (bound << 4) + (intermediate << 3); i < (bound << 4) + (intermediate << 3) + leftovers ; i += 2) {
target[i>>1] = ((int16_t)(src0[i] - src0[i + 1]) > 0) ? src0[i] : src0[i + 1];
}
-
-}
-
+
+}
+
#endif /*LV_HAVE_SSSE3*/
#ifdef LV_HAVE_GENERIC
static inline void volk_16i_max_star_horizontal_16i_a_generic(int16_t* target, int16_t* src0, unsigned int num_bytes) {
-
+
int i = 0;
-
+
int bound = num_bytes >> 1;
-
+
for(i = 0; i < bound; i += 2) {
target[i >> 1] = ((int16_t) (src0[i] - src0[i + 1]) > 0) ? src0[i] : src0[i+1];
}
-
+
}
diff --git a/volk/include/volk/volk_16i_permute_and_scalar_add_a.h b/volk/include/volk/volk_16i_permute_and_scalar_add_a.h
index de36cee80..47e3cbf9c 100644
--- a/volk/include/volk/volk_16i_permute_and_scalar_add_a.h
+++ b/volk/include/volk/volk_16i_permute_and_scalar_add_a.h
@@ -3,7 +3,7 @@
#include<inttypes.h>
-#include<stdio.h>
+#include<stdio.h>
@@ -14,33 +14,33 @@
#include<emmintrin.h>
static inline void volk_16i_permute_and_scalar_add_a_sse2(short* target, short* src0, short* permute_indexes, short* cntl0, short* cntl1, short* cntl2, short* cntl3, short* scalars, unsigned int num_bytes) {
-
+
__m128i xmm0, xmm1, xmm2, xmm3, xmm4, xmm5, xmm6, xmm7;
__m128i *p_target, *p_cntl0, *p_cntl1, *p_cntl2, *p_cntl3, *p_scalars;
short* p_permute_indexes = permute_indexes;
-
+
p_target = (__m128i*)target;
p_cntl0 = (__m128i*)cntl0;
p_cntl1 = (__m128i*)cntl1;
p_cntl2 = (__m128i*)cntl2;
p_cntl3 = (__m128i*)cntl3;
p_scalars = (__m128i*)scalars;
-
+
int i = 0;
-
+
int bound = (num_bytes >> 4);
int leftovers = (num_bytes >> 1) & 7;
-
+
xmm0 = _mm_load_si128(p_scalars);
-
+
xmm1 = _mm_shufflelo_epi16(xmm0, 0);
xmm2 = _mm_shufflelo_epi16(xmm0, 0x55);
xmm3 = _mm_shufflelo_epi16(xmm0, 0xaa);
xmm4 = _mm_shufflelo_epi16(xmm0, 0xff);
-
+
xmm1 = _mm_shuffle_epi32(xmm1, 0x00);
xmm2 = _mm_shuffle_epi32(xmm2, 0x00);
xmm3 = _mm_shuffle_epi32(xmm3, 0x00);
@@ -64,49 +64,49 @@ static inline void volk_16i_permute_and_scalar_add_a_sse2(short* target, short
xmm0 = _mm_add_epi16(xmm0, xmm5);
xmm6 = _mm_add_epi16(xmm6, xmm7);
-
+
p_permute_indexes += 8;
-
+
xmm0 = _mm_add_epi16(xmm0, xmm6);
-
+
xmm5 = _mm_load_si128(p_cntl0);
xmm6 = _mm_load_si128(p_cntl1);
xmm7 = _mm_load_si128(p_cntl2);
-
+
xmm5 = _mm_and_si128(xmm5, xmm1);
xmm6 = _mm_and_si128(xmm6, xmm2);
xmm7 = _mm_and_si128(xmm7, xmm3);
-
+
xmm0 = _mm_add_epi16(xmm0, xmm5);
-
+
xmm5 = _mm_load_si128(p_cntl3);
-
+
xmm6 = _mm_add_epi16(xmm6, xmm7);
p_cntl0 += 1;
-
+
xmm5 = _mm_and_si128(xmm5, xmm4);
-
+
xmm0 = _mm_add_epi16(xmm0, xmm6);
-
+
p_cntl1 += 1;
p_cntl2 += 1;
-
- xmm0 = _mm_add_epi16(xmm0, xmm5);
-
+
+ xmm0 = _mm_add_epi16(xmm0, xmm5);
+
p_cntl3 += 1;
_mm_store_si128(p_target, xmm0);
-
+
p_target += 1;
}
-
-
-
-
+
+
+
+
for(i = bound * 8; i < (bound * 8) + leftovers; ++i) {
- target[i] = src0[permute_indexes[i]]
+ target[i] = src0[permute_indexes[i]]
+ (cntl0[i] & scalars[0])
+ (cntl1[i] & scalars[1])
+ (cntl2[i] & scalars[2])
@@ -118,18 +118,18 @@ static inline void volk_16i_permute_and_scalar_add_a_sse2(short* target, short
#ifdef LV_HAVE_GENERIC
static inline void volk_16i_permute_and_scalar_add_a_generic(short* target, short* src0, short* permute_indexes, short* cntl0, short* cntl1, short* cntl2, short* cntl3, short* scalars, unsigned int num_bytes) {
-
+
int i = 0;
-
+
int bound = num_bytes >> 1;
for(i = 0; i < bound; ++i) {
- target[i] = src0[permute_indexes[i]]
+ target[i] = src0[permute_indexes[i]]
+ (cntl0[i] & scalars[0])
+ (cntl1[i] & scalars[1])
+ (cntl2[i] & scalars[2])
+ (cntl3[i] & scalars[3]);
-
+
}
}
diff --git a/volk/include/volk/volk_16i_s32f_convert_32f_a.h b/volk/include/volk/volk_16i_s32f_convert_32f_a.h
index 0555fdf00..7108ff659 100644
--- a/volk/include/volk/volk_16i_s32f_convert_32f_a.h
+++ b/volk/include/volk/volk_16i_s32f_convert_32f_a.h
@@ -17,7 +17,7 @@
static inline void volk_16i_s32f_convert_32f_a_sse4_1(float* outputVector, const int16_t* inputVector, const float scalar, unsigned int num_points){
unsigned int number = 0;
const unsigned int eighthPoints = num_points / 8;
-
+
float* outputVectorPtr = outputVector;
__m128 invScalar = _mm_set_ps1(1.0/scalar);
int16_t* inputPtr = (int16_t*)inputVector;
@@ -36,7 +36,7 @@ static inline void volk_16i_s32f_convert_32f_a_sse4_1(float* outputVector, const
// Convert the lower 4 values into 32 bit words
inputVal = _mm_cvtepi16_epi32(inputVal);
inputVal2 = _mm_cvtepi16_epi32(inputVal2);
-
+
ret = _mm_cvtepi32_ps(inputVal);
ret = _mm_mul_ps(ret, invScalar);
_mm_storeu_ps(outputVectorPtr, ret);
@@ -71,7 +71,7 @@ static inline void volk_16i_s32f_convert_32f_a_sse4_1(float* outputVector, const
static inline void volk_16i_s32f_convert_32f_a_sse(float* outputVector, const int16_t* inputVector, const float scalar, unsigned int num_points){
unsigned int number = 0;
const unsigned int quarterPoints = num_points / 4;
-
+
float* outputVectorPtr = outputVector;
__m128 invScalar = _mm_set_ps1(1.0/scalar);
int16_t* inputPtr = (int16_t*)inputVector;
@@ -79,7 +79,7 @@ static inline void volk_16i_s32f_convert_32f_a_sse(float* outputVector, const in
for(;number < quarterPoints; number++){
ret = _mm_set_ps((float)(inputPtr[3]), (float)(inputPtr[2]), (float)(inputPtr[1]), (float)(inputPtr[0]));
-
+
ret = _mm_mul_ps(ret, invScalar);
_mm_storeu_ps(outputVectorPtr, ret);
diff --git a/volk/include/volk/volk_16i_s32f_convert_32f_u.h b/volk/include/volk/volk_16i_s32f_convert_32f_u.h
index d34acc091..4ce8e8f35 100644
--- a/volk/include/volk/volk_16i_s32f_convert_32f_u.h
+++ b/volk/include/volk/volk_16i_s32f_convert_32f_u.h
@@ -18,7 +18,7 @@
static inline void volk_16i_s32f_convert_32f_u_sse4_1(float* outputVector, const int16_t* inputVector, const float scalar, unsigned int num_points){
unsigned int number = 0;
const unsigned int eighthPoints = num_points / 8;
-
+
float* outputVectorPtr = outputVector;
__m128 invScalar = _mm_set_ps1(1.0/scalar);
int16_t* inputPtr = (int16_t*)inputVector;
@@ -37,7 +37,7 @@ static inline void volk_16i_s32f_convert_32f_u_sse4_1(float* outputVector, const
// Convert the lower 4 values into 32 bit words
inputVal = _mm_cvtepi16_epi32(inputVal);
inputVal2 = _mm_cvtepi16_epi32(inputVal2);
-
+
ret = _mm_cvtepi32_ps(inputVal);
ret = _mm_mul_ps(ret, invScalar);
_mm_storeu_ps(outputVectorPtr, ret);
@@ -73,7 +73,7 @@ static inline void volk_16i_s32f_convert_32f_u_sse4_1(float* outputVector, const
static inline void volk_16i_s32f_convert_32f_u_sse(float* outputVector, const int16_t* inputVector, const float scalar, unsigned int num_points){
unsigned int number = 0;
const unsigned int quarterPoints = num_points / 4;
-
+
float* outputVectorPtr = outputVector;
__m128 invScalar = _mm_set_ps1(1.0/scalar);
int16_t* inputPtr = (int16_t*)inputVector;
@@ -81,7 +81,7 @@ static inline void volk_16i_s32f_convert_32f_u_sse(float* outputVector, const in
for(;number < quarterPoints; number++){
ret = _mm_set_ps((float)(inputPtr[3]), (float)(inputPtr[2]), (float)(inputPtr[1]), (float)(inputPtr[0]));
-
+
ret = _mm_mul_ps(ret, invScalar);
_mm_storeu_ps(outputVectorPtr, ret);
diff --git a/volk/include/volk/volk_16i_x4_quad_max_star_16i_a.h b/volk/include/volk/volk_16i_x4_quad_max_star_16i_a.h
index 2688aff04..0d8498553 100644
--- a/volk/include/volk/volk_16i_x4_quad_max_star_16i_a.h
+++ b/volk/include/volk/volk_16i_x4_quad_max_star_16i_a.h
@@ -3,7 +3,7 @@
#include<inttypes.h>
-#include<stdio.h>
+#include<stdio.h>
@@ -14,7 +14,7 @@
#include<emmintrin.h>
static inline void volk_16i_x4_quad_max_star_16i_a_sse2(short* target, short* src0, short* src1, short* src2, short* src3, unsigned int num_bytes) {
-
+
@@ -23,41 +23,41 @@ static inline void volk_16i_x4_quad_max_star_16i_a_sse2(short* target, short* s
int bound = (num_bytes >> 4);
int bound_copy = bound;
int leftovers = (num_bytes >> 1) & 7;
-
+
__m128i *p_target, *p_src0, *p_src1, *p_src2, *p_src3;
p_target = (__m128i*) target;
p_src0 = (__m128i*)src0;
p_src1 = (__m128i*)src1;
p_src2 = (__m128i*)src2;
p_src3 = (__m128i*)src3;
-
-
+
+
__m128i xmm1, xmm2, xmm3, xmm4, xmm5, xmm6, xmm7, xmm8;
while(bound_copy > 0) {
-
+
xmm1 = _mm_load_si128(p_src0);
xmm2 = _mm_load_si128(p_src1);
xmm3 = _mm_load_si128(p_src2);
xmm4 = _mm_load_si128(p_src3);
-
+
xmm5 = _mm_setzero_si128();
xmm6 = _mm_setzero_si128();
xmm7 = xmm1;
xmm8 = xmm3;
-
-
+
+
xmm1 = _mm_sub_epi16(xmm2, xmm1);
-
+
xmm3 = _mm_sub_epi16(xmm4, xmm3);
xmm5 = _mm_cmpgt_epi16(xmm1, xmm5);
xmm6 = _mm_cmpgt_epi16(xmm3, xmm6);
-
+
xmm2 = _mm_and_si128(xmm5, xmm2);
xmm4 = _mm_and_si128(xmm6, xmm4);
@@ -67,7 +67,7 @@ static inline void volk_16i_x4_quad_max_star_16i_a_sse2(short* target, short* s
xmm5 = _mm_add_epi16(xmm2, xmm5);
xmm6 = _mm_add_epi16(xmm4, xmm6);
-
+
xmm1 = _mm_xor_si128(xmm1, xmm1);
xmm2 = xmm5;
xmm5 = _mm_sub_epi16(xmm6, xmm5);
@@ -76,23 +76,23 @@ static inline void volk_16i_x4_quad_max_star_16i_a_sse2(short* target, short* s
xmm1 = _mm_cmpgt_epi16(xmm5, xmm1);
p_src1 += 1;
-
+
xmm6 = _mm_and_si128(xmm1, xmm6);
-
+
xmm1 = _mm_andnot_si128(xmm1, xmm2);
p_src2 += 1;
-
+
xmm1 = _mm_add_epi16(xmm6, xmm1);
p_src3 += 1;
-
+
_mm_store_si128(p_target, xmm1);
p_target += 1;
-
+
}
-
+
/*asm volatile
(
@@ -111,25 +111,25 @@ static inline void volk_16i_x4_quad_max_star_16i_a_sse2(short* target, short* s
"movaps %%xmm3, %%xmm8\n\t"
"psubw %%xmm2, %%xmm1\n\t"
"psubw %%xmm4, %%xmm3\n\t"
-
+
"pcmpgtw %%xmm1, %%xmm5\n\t"
"pcmpgtw %%xmm3, %%xmm6\n\t"
-
+
"pand %%xmm5, %%xmm2\n\t"
"pand %%xmm6, %%xmm4\n\t"
"pandn %%xmm7, %%xmm5\n\t"
"pandn %%xmm8, %%xmm6\n\t"
-
+
"paddw %%xmm2, %%xmm5\n\t"
"paddw %%xmm4, %%xmm6\n\t"
"pxor %%xmm1, %%xmm1\n\t"
"movaps %%xmm5, %%xmm2\n\t"
-
+
"psubw %%xmm6, %%xmm5\n\t"
"add $16, %[src0]\n\t"
"add $-1, %[bound]\n\t"
-
+
"pcmpgtw %%xmm5, %%xmm1\n\t"
"add $16, %[src1]\n\t"
@@ -144,13 +144,13 @@ static inline void volk_16i_x4_quad_max_star_16i_a_sse2(short* target, short* s
"movaps %%xmm1, (%[target])\n\t"
"addw $16, %[target]\n\t"
"jmp volk_16i_x4_quad_max_star_16i_a_sse2_L1\n\t"
-
+
"volk_16i_x4_quad_max_star_16i_a_sse2_END:\n\t"
:
:[bound]"r"(bound), [src0]"r"(src0), [src1]"r"(src1), [src2]"r"(src2), [src3]"r"(src3), [target]"r"(target)
:
);
- */
+ */
short temp0 = 0;
short temp1 = 0;
@@ -169,11 +169,11 @@ static inline void volk_16i_x4_quad_max_star_16i_a_sse2(short* target, short* s
#ifdef LV_HAVE_GENERIC
static inline void volk_16i_x4_quad_max_star_16i_a_generic(short* target, short* src0, short* src1, short* src2, short* src3, unsigned int num_bytes) {
-
+
int i = 0;
-
+
int bound = num_bytes >> 1;
-
+
short temp0 = 0;
short temp1 = 0;
for(i = 0; i < bound; ++i) {
diff --git a/volk/include/volk/volk_16i_x5_add_quad_16i_x4_a.h b/volk/include/volk/volk_16i_x5_add_quad_16i_x4_a.h
index e4c9f17ed..5560b92d9 100644
--- a/volk/include/volk/volk_16i_x5_add_quad_16i_x4_a.h
+++ b/volk/include/volk/volk_16i_x5_add_quad_16i_x4_a.h
@@ -3,7 +3,7 @@
#include<inttypes.h>
-#include<stdio.h>
+#include<stdio.h>
@@ -14,7 +14,7 @@
#include<emmintrin.h>
static inline void volk_16i_x5_add_quad_16i_x4_a_sse2(short* target0, short* target1, short* target2, short* target3, short* src0, short* src1, short* src2, short* src3, short* src4, unsigned int num_bytes) {
-
+
__m128i xmm0, xmm1, xmm2, xmm3, xmm4;
__m128i *p_target0, *p_target1, *p_target2, *p_target3, *p_src0, *p_src1, *p_src2, *p_src3, *p_src4;
p_target0 = (__m128i*)target0;
@@ -39,16 +39,16 @@ static inline void volk_16i_x5_add_quad_16i_x4_a_sse2(short* target0, short* ta
xmm2 = _mm_load_si128(p_src2);
xmm3 = _mm_load_si128(p_src3);
xmm4 = _mm_load_si128(p_src4);
-
+
p_src0 += 1;
p_src1 += 1;
-
+
xmm1 = _mm_add_epi16(xmm0, xmm1);
xmm2 = _mm_add_epi16(xmm0, xmm2);
xmm3 = _mm_add_epi16(xmm0, xmm3);
xmm4 = _mm_add_epi16(xmm0, xmm4);
-
-
+
+
p_src2 += 1;
p_src3 += 1;
p_src4 += 1;
@@ -57,7 +57,7 @@ static inline void volk_16i_x5_add_quad_16i_x4_a_sse2(short* target0, short* ta
_mm_store_si128(p_target1, xmm2);
_mm_store_si128(p_target2, xmm3);
_mm_store_si128(p_target3, xmm4);
-
+
p_target0 += 1;
p_target1 += 1;
p_target2 += 1;
@@ -97,9 +97,9 @@ static inline void volk_16i_x5_add_quad_16i_x4_a_sse2(short* target0, short* ta
:[bound]"r"(bound), [src0]"r"(src0), [src1]"r"(src1), [src2]"r"(src2), [src3]"r"(src3), [src4]"r"(src4), [target0]"r"(target0), [target1]"r"(target1), [target2]"r"(target2), [target3]"r"(target3)
:"xmm1", "xmm2", "xmm3", "xmm4", "xmm5"
);
-
+
*/
-
+
for(i = bound * 8; i < (bound * 8) + leftovers; ++i) {
target0[i] = src0[i] + src1[i];
@@ -114,9 +114,9 @@ static inline void volk_16i_x5_add_quad_16i_x4_a_sse2(short* target0, short* ta
#ifdef LV_HAVE_GENERIC
static inline void volk_16i_x5_add_quad_16i_x4_a_generic(short* target0, short* target1, short* target2, short* target3, short* src0, short* src1, short* src2, short* src3, short* src4, unsigned int num_bytes) {
-
+
int i = 0;
-
+
int bound = num_bytes >> 1;
for(i = 0; i < bound; ++i) {
diff --git a/volk/include/volk/volk_16ic_deinterleave_16i_x2_a.h b/volk/include/volk/volk_16ic_deinterleave_16i_x2_a.h
index cdd60235e..f8aa30874 100644
--- a/volk/include/volk/volk_16ic_deinterleave_16i_x2_a.h
+++ b/volk/include/volk/volk_16ic_deinterleave_16i_x2_a.h
@@ -71,7 +71,7 @@ static inline void volk_16ic_deinterleave_16i_x2_a_sse2(int16_t* iBuffer, int16_
__m128i highMask = _mm_set_epi32(0xFFFFFFFF, 0xFFFFFFFF, 0x0, 0x0);
unsigned int eighthPoints = num_points / 8;
-
+
for(number = 0; number < eighthPoints; number++){
complexVal1 = _mm_load_si128((__m128i*)complexVectorPtr); complexVectorPtr += 8;
complexVal2 = _mm_load_si128((__m128i*)complexVectorPtr); complexVectorPtr += 8;
diff --git a/volk/include/volk/volk_16ic_deinterleave_real_16i_a.h b/volk/include/volk/volk_16ic_deinterleave_real_16i_a.h
index 2b99e068e..bac1f2e4b 100644
--- a/volk/include/volk/volk_16ic_deinterleave_real_16i_a.h
+++ b/volk/include/volk/volk_16ic_deinterleave_real_16i_a.h
@@ -64,7 +64,7 @@ static inline void volk_16ic_deinterleave_real_16i_a_sse2(int16_t* iBuffer, cons
__m128i highMask = _mm_set_epi32(0xFFFFFFFF, 0xFFFFFFFF, 0x0, 0x0);
unsigned int eighthPoints = num_points / 8;
-
+
for(number = 0; number < eighthPoints; number++){
complexVal1 = _mm_load_si128((__m128i*)complexVectorPtr); complexVectorPtr += 8;
complexVal2 = _mm_load_si128((__m128i*)complexVectorPtr); complexVectorPtr += 8;
diff --git a/volk/include/volk/volk_16ic_magnitude_16i_a.h b/volk/include/volk/volk_16ic_magnitude_16i_a.h
index a6951e967..317075e85 100644
--- a/volk/include/volk/volk_16ic_magnitude_16i_a.h
+++ b/volk/include/volk/volk_16ic_magnitude_16i_a.h
@@ -17,7 +17,7 @@
static inline void volk_16ic_magnitude_16i_a_sse3(int16_t* magnitudeVector, const lv_16sc_t* complexVector, unsigned int num_points){
unsigned int number = 0;
const unsigned int quarterPoints = num_points / 4;
-
+
const int16_t* complexVectorPtr = (const int16_t*)complexVector;
int16_t* magnitudeVectorPtr = magnitudeVector;
@@ -35,7 +35,7 @@ static inline void volk_16ic_magnitude_16i_a_sse3(int16_t* magnitudeVector, cons
inputFloatBuffer[1] = (float)(complexVectorPtr[1]);
inputFloatBuffer[2] = (float)(complexVectorPtr[2]);
inputFloatBuffer[3] = (float)(complexVectorPtr[3]);
-
+
inputFloatBuffer[4] = (float)(complexVectorPtr[4]);
inputFloatBuffer[5] = (float)(complexVectorPtr[5]);
inputFloatBuffer[6] = (float)(complexVectorPtr[6]);
@@ -106,7 +106,7 @@ static inline void volk_16ic_magnitude_16i_a_sse(int16_t* magnitudeVector, const
inputFloatBuffer[1] = (float)(complexVectorPtr[1]);
inputFloatBuffer[2] = (float)(complexVectorPtr[2]);
inputFloatBuffer[3] = (float)(complexVectorPtr[3]);
-
+
cplxValue1 = _mm_load_ps(inputFloatBuffer);
complexVectorPtr += 4;
diff --git a/volk/include/volk/volk_16ic_s32f_deinterleave_32f_x2_a.h b/volk/include/volk/volk_16ic_s32f_deinterleave_32f_x2_a.h
index e73d405e0..1300395ff 100644
--- a/volk/include/volk/volk_16ic_s32f_deinterleave_32f_x2_a.h
+++ b/volk/include/volk/volk_16ic_s32f_deinterleave_32f_x2_a.h
@@ -20,7 +20,7 @@ static inline void volk_16ic_s32f_deinterleave_32f_x2_a_sse(float* iBuffer, floa
float* qBufferPtr = qBuffer;
uint64_t number = 0;
- const uint64_t quarterPoints = num_points / 4;
+ const uint64_t quarterPoints = num_points / 4;
__m128 cplxValue1, cplxValue2, iValue, qValue;
__m128 invScalar = _mm_set_ps1(1.0/scalar);
@@ -29,12 +29,12 @@ static inline void volk_16ic_s32f_deinterleave_32f_x2_a_sse(float* iBuffer, floa
__VOLK_ATTR_ALIGNED(16) float floatBuffer[8];
for(;number < quarterPoints; number++){
-
+
floatBuffer[0] = (float)(complexVectorPtr[0]);
floatBuffer[1] = (float)(complexVectorPtr[1]);
floatBuffer[2] = (float)(complexVectorPtr[2]);
floatBuffer[3] = (float)(complexVectorPtr[3]);
-
+
floatBuffer[4] = (float)(complexVectorPtr[4]);
floatBuffer[5] = (float)(complexVectorPtr[5]);
floatBuffer[6] = (float)(complexVectorPtr[6]);
diff --git a/volk/include/volk/volk_16ic_s32f_deinterleave_real_32f_a.h b/volk/include/volk/volk_16ic_s32f_deinterleave_real_32f_a.h
index 1630cb0ed..5e2d82b94 100644
--- a/volk/include/volk/volk_16ic_s32f_deinterleave_real_32f_a.h
+++ b/volk/include/volk/volk_16ic_s32f_deinterleave_real_32f_a.h
@@ -18,7 +18,7 @@ static inline void volk_16ic_s32f_deinterleave_real_32f_a_sse4_1(float* iBuffer,
float* iBufferPtr = iBuffer;
unsigned int number = 0;
- const unsigned int quarterPoints = num_points / 4;
+ const unsigned int quarterPoints = num_points / 4;
__m128 iFloatValue;
@@ -49,7 +49,7 @@ static inline void volk_16ic_s32f_deinterleave_real_32f_a_sse4_1(float* iBuffer,
*iBufferPtr++ = ((float)(*sixteenTComplexVectorPtr++)) * iScalar;
sixteenTComplexVectorPtr++;
}
-
+
}
#endif /* LV_HAVE_SSE4_1 */
@@ -66,7 +66,7 @@ static inline void volk_16ic_s32f_deinterleave_real_32f_a_sse(float* iBuffer, co
float* iBufferPtr = iBuffer;
unsigned int number = 0;
- const unsigned int quarterPoints = num_points / 4;
+ const unsigned int quarterPoints = num_points / 4;
__m128 iValue;
const float iScalar = 1.0/scalar;
@@ -77,7 +77,7 @@ static inline void volk_16ic_s32f_deinterleave_real_32f_a_sse(float* iBuffer, co
for(;number < quarterPoints; number++){
floatBuffer[0] = (float)(*complexVectorPtr); complexVectorPtr += 2;
- floatBuffer[1] = (float)(*complexVectorPtr); complexVectorPtr += 2;
+ floatBuffer[1] = (float)(*complexVectorPtr); complexVectorPtr += 2;
floatBuffer[2] = (float)(*complexVectorPtr); complexVectorPtr += 2;
floatBuffer[3] = (float)(*complexVectorPtr); complexVectorPtr += 2;
@@ -96,7 +96,7 @@ static inline void volk_16ic_s32f_deinterleave_real_32f_a_sse(float* iBuffer, co
*iBufferPtr++ = ((float)(*complexVectorPtr++)) * iScalar;
complexVectorPtr++;
}
-
+
}
#endif /* LV_HAVE_SSE */
diff --git a/volk/include/volk/volk_16ic_s32f_magnitude_32f_a.h b/volk/include/volk/volk_16ic_s32f_magnitude_32f_a.h
index 35406e2cb..d20eea1a7 100644
--- a/volk/include/volk/volk_16ic_s32f_magnitude_32f_a.h
+++ b/volk/include/volk/volk_16ic_s32f_magnitude_32f_a.h
@@ -18,7 +18,7 @@
static inline void volk_16ic_s32f_magnitude_32f_a_sse3(float* magnitudeVector, const lv_16sc_t* complexVector, const float scalar, unsigned int num_points){
unsigned int number = 0;
const unsigned int quarterPoints = num_points / 4;
-
+
const int16_t* complexVectorPtr = (const int16_t*)complexVector;
float* magnitudeVectorPtr = magnitudeVector;
@@ -34,7 +34,7 @@ static inline void volk_16ic_s32f_magnitude_32f_a_sse3(float* magnitudeVector, c
inputFloatBuffer[1] = (float)(complexVectorPtr[1]);
inputFloatBuffer[2] = (float)(complexVectorPtr[2]);
inputFloatBuffer[3] = (float)(complexVectorPtr[3]);
-
+
inputFloatBuffer[4] = (float)(complexVectorPtr[4]);
inputFloatBuffer[5] = (float)(complexVectorPtr[5]);
inputFloatBuffer[6] = (float)(complexVectorPtr[6]);
@@ -56,7 +56,7 @@ static inline void volk_16ic_s32f_magnitude_32f_a_sse3(float* magnitudeVector, c
result = _mm_sqrt_ps(result); // Square root the values
_mm_store_ps(magnitudeVectorPtr, result);
-
+
magnitudeVectorPtr += 4;
}
@@ -99,7 +99,7 @@ static inline void volk_16ic_s32f_magnitude_32f_a_sse(float* magnitudeVector, co
inputFloatBuffer[1] = (float)(complexVectorPtr[1]);
inputFloatBuffer[2] = (float)(complexVectorPtr[2]);
inputFloatBuffer[3] = (float)(complexVectorPtr[3]);
-
+
inputFloatBuffer[4] = (float)(complexVectorPtr[4]);
inputFloatBuffer[5] = (float)(complexVectorPtr[5]);
inputFloatBuffer[6] = (float)(complexVectorPtr[6]);
@@ -107,7 +107,7 @@ static inline void volk_16ic_s32f_magnitude_32f_a_sse(float* magnitudeVector, co
cplxValue1 = _mm_load_ps(&inputFloatBuffer[0]);
cplxValue2 = _mm_load_ps(&inputFloatBuffer[4]);
-
+
re = _mm_shuffle_ps(cplxValue1, cplxValue2, 0x88);
im = _mm_shuffle_ps(cplxValue1, cplxValue2, 0xdd);
@@ -124,7 +124,7 @@ static inline void volk_16ic_s32f_magnitude_32f_a_sse(float* magnitudeVector, co
result = _mm_sqrt_ps(result); // Square root the values
_mm_store_ps(magnitudeVectorPtr, result);
-
+
magnitudeVectorPtr += 4;
}
@@ -138,7 +138,7 @@ static inline void volk_16ic_s32f_magnitude_32f_a_sse(float* magnitudeVector, co
}
}
-
+
#endif /* LV_HAVE_SSE */
#ifdef LV_HAVE_GENERIC
diff --git a/volk/include/volk/volk_16u_byteswap_a.h b/volk/include/volk/volk_16u_byteswap_a.h
index 75c7ef0f3..fc3eb5fa7 100644
--- a/volk/include/volk/volk_16u_byteswap_a.h
+++ b/volk/include/volk/volk_16u_byteswap_a.h
@@ -31,9 +31,9 @@ static inline void volk_16u_byteswap_a_sse2(uint16_t* intsToSwap, unsigned int n
inputPtr += 8;
}
-
+
// Byteswap any remaining points:
- number = eighthPoints*8;
+ number = eighthPoints*8;
for(; number < num_points; number++){
uint16_t outputVal = *inputPtr;
outputVal = (((outputVal >> 8) & 0xff) | ((outputVal << 8) & 0xff00));
diff --git a/volk/include/volk/volk_32f_accumulator_s32f_a.h b/volk/include/volk/volk_32f_accumulator_s32f_a.h
index 7ce0d1c80..78364d0a0 100644
--- a/volk/include/volk/volk_32f_accumulator_s32f_a.h
+++ b/volk/include/volk/volk_32f_accumulator_s32f_a.h
@@ -20,13 +20,13 @@ static inline void volk_32f_accumulator_s32f_a_sse(float* result, const float* i
const float* aPtr = inputBuffer;
__VOLK_ATTR_ALIGNED(16) float tempBuffer[4];
-
+
__m128 accumulator = _mm_setzero_ps();
__m128 aVal = _mm_setzero_ps();
for(;number < quarterPoints; number++){
aVal = _mm_load_ps(aPtr);
- accumulator = _mm_add_ps(accumulator, aVal);
+ accumulator = _mm_add_ps(accumulator, aVal);
aPtr += 4;
}
_mm_store_ps(tempBuffer,accumulator); // Store the results back into the C container
@@ -34,7 +34,7 @@ static inline void volk_32f_accumulator_s32f_a_sse(float* result, const float* i
returnValue += tempBuffer[1];
returnValue += tempBuffer[2];
returnValue += tempBuffer[3];
-
+
number = quarterPoints * 4;
for(;number < num_points; number++){
returnValue += (*aPtr++);
diff --git a/volk/include/volk/volk_32f_convert_64f_a.h b/volk/include/volk/volk_32f_convert_64f_a.h
index dda646409..2c469ac42 100644
--- a/volk/include/volk/volk_32f_convert_64f_a.h
+++ b/volk/include/volk/volk_32f_convert_64f_a.h
@@ -16,7 +16,7 @@ static inline void volk_32f_convert_64f_a_sse2(double* outputVector, const float
unsigned int number = 0;
const unsigned int quarterPoints = num_points / 4;
-
+
const float* inputVectorPtr = (const float*)inputVector;
double* outputVectorPtr = outputVector;
__m128d ret;
@@ -24,7 +24,7 @@ static inline void volk_32f_convert_64f_a_sse2(double* outputVector, const float
for(;number < quarterPoints; number++){
inputVal = _mm_load_ps(inputVectorPtr); inputVectorPtr += 4;
-
+
ret = _mm_cvtps_pd(inputVal);
_mm_store_pd(outputVectorPtr, ret);
@@ -38,7 +38,7 @@ static inline void volk_32f_convert_64f_a_sse2(double* outputVector, const float
outputVectorPtr += 2;
}
- number = quarterPoints * 4;
+ number = quarterPoints * 4;
for(; number < num_points; number++){
outputVector[number] = (double)(inputVector[number]);
}
diff --git a/volk/include/volk/volk_32f_convert_64f_u.h b/volk/include/volk/volk_32f_convert_64f_u.h
index 387baa3b9..10d8a4f6c 100644
--- a/volk/include/volk/volk_32f_convert_64f_u.h
+++ b/volk/include/volk/volk_32f_convert_64f_u.h
@@ -16,7 +16,7 @@ static inline void volk_32f_convert_64f_u_sse2(double* outputVector, const float
unsigned int number = 0;
const unsigned int quarterPoints = num_points / 4;
-
+
const float* inputVectorPtr = (const float*)inputVector;
double* outputVectorPtr = outputVector;
__m128d ret;
@@ -24,7 +24,7 @@ static inline void volk_32f_convert_64f_u_sse2(double* outputVector, const float
for(;number < quarterPoints; number++){
inputVal = _mm_loadu_ps(inputVectorPtr); inputVectorPtr += 4;
-
+
ret = _mm_cvtps_pd(inputVal);
_mm_storeu_pd(outputVectorPtr, ret);
@@ -38,7 +38,7 @@ static inline void volk_32f_convert_64f_u_sse2(double* outputVector, const float
outputVectorPtr += 2;
}
- number = quarterPoints * 4;
+ number = quarterPoints * 4;
for(; number < num_points; number++){
outputVector[number] = (double)(inputVector[number]);
}
diff --git a/volk/include/volk/volk_32f_index_max_16u_a.h b/volk/include/volk/volk_32f_index_max_16u_a.h
index 0c43a5081..b9ca1dd3e 100644
--- a/volk/include/volk/volk_32f_index_max_16u_a.h
+++ b/volk/include/volk/volk_32f_index_max_16u_a.h
@@ -52,7 +52,7 @@ static inline void volk_32f_index_max_16u_a_sse4_1(unsigned int* target, const f
}
number = quarterPoints * 4;
- for(;number < num_points; number++){
+ for(;number < num_points; number++){
if(src0[number] > max){
index = number;
max = src0[number];
@@ -111,7 +111,7 @@ static inline void volk_32f_index_max_16u_a_sse(unsigned int* target, const floa
}
number = quarterPoints * 4;
- for(;number < num_points; number++){
+ for(;number < num_points; number++){
if(src0[number] > max){
index = number;
max = src0[number];
@@ -128,11 +128,11 @@ static inline void volk_32f_index_max_16u_a_generic(unsigned int* target, const
if(num_points > 0){
float max = src0[0];
unsigned int index = 0;
-
- unsigned int i = 1;
-
+
+ unsigned int i = 1;
+
for(; i < num_points; ++i) {
-
+
if(src0[i] > max){
index = i;
max = src0[i];
diff --git a/volk/include/volk/volk_32f_s32f_32f_fm_detect_32f_a.h b/volk/include/volk/volk_32f_s32f_32f_fm_detect_32f_a.h
index b25df75a1..43713f8b5 100644
--- a/volk/include/volk/volk_32f_s32f_32f_fm_detect_32f_a.h
+++ b/volk/include/volk/volk_32f_s32f_32f_fm_detect_32f_a.h
@@ -46,7 +46,7 @@ static inline void volk_32f_s32f_32f_fm_detect_32f_a_sse(float* outputVector, co
inPtr++;
outPtr++;
}
-
+
for (; number < quarterPoints; number++) {
// Load data
next3old1 = _mm_loadu_ps((float*) (inPtr-1));
@@ -65,7 +65,7 @@ static inline void volk_32f_s32f_32f_fm_detect_32f_a_sse(float* outputVector, co
_mm_store_ps(outPtr,next3old1); // Store the results back into the output
outPtr += 4;
}
-
+
for (number = (4 > (quarterPoints*4) ? 4 : (4 * quarterPoints)); number < num_points; number++) {
*outPtr = *(inPtr) - *(inPtr-1);
if (*outPtr > bound) *outPtr -= 2*bound;
@@ -73,7 +73,7 @@ static inline void volk_32f_s32f_32f_fm_detect_32f_a_sse(float* outputVector, co
inPtr++;
outPtr++;
}
-
+
*saveValue = inputVector[num_points-1];
}
#endif /* LV_HAVE_SSE */
@@ -94,14 +94,14 @@ static inline void volk_32f_s32f_32f_fm_detect_32f_a_generic(float* outputVector
unsigned int number = 0;
float* outPtr = outputVector;
const float* inPtr = inputVector;
-
+
// Do the first 1 by hand since we're going in from the saveValue:
*outPtr = *inPtr - *saveValue;
if (*outPtr > bound) *outPtr -= 2*bound;
if (*outPtr < -bound) *outPtr += 2*bound;
inPtr++;
outPtr++;
-
+
for (number = 1; number < num_points; number++) {
*outPtr = *(inPtr) - *(inPtr-1);
if (*outPtr > bound) *outPtr -= 2*bound;
@@ -109,7 +109,7 @@ static inline void volk_32f_s32f_32f_fm_detect_32f_a_generic(float* outputVector
inPtr++;
outPtr++;
}
-
+
*saveValue = inputVector[num_points-1];
}
#endif /* LV_HAVE_GENERIC */
diff --git a/volk/include/volk/volk_32f_s32f_calc_spectral_noise_floor_32f_a.h b/volk/include/volk/volk_32f_s32f_calc_spectral_noise_floor_32f_a.h
index b1902a8c0..db61e359d 100644
--- a/volk/include/volk/volk_32f_s32f_calc_spectral_noise_floor_32f_a.h
+++ b/volk/include/volk/volk_32f_s32f_calc_spectral_noise_floor_32f_a.h
@@ -23,7 +23,7 @@ static inline void volk_32f_s32f_calc_spectral_noise_floor_32f_a_sse(float* nois
const float* dataPointsPtr = realDataPoints;
__VOLK_ATTR_ALIGNED(16) float avgPointsVector[4];
-
+
__m128 dataPointsVal;
__m128 avgPointsVal = _mm_setzero_ps();
// Calculate the sum (for mean) for all points
@@ -73,11 +73,11 @@ static inline void volk_32f_s32f_calc_spectral_noise_floor_32f_a_sse(float* nois
// Mask off the items that exceed the mean amplitude and add the avg Points that do not exceed the mean amplitude
avgPointsVal = _mm_add_ps(avgPointsVal, _mm_and_ps(compareMask, dataPointsVal));
-
+
// Count the number of bins which do not exceed the mean amplitude
vValidBinCount = _mm_add_ps(vValidBinCount, _mm_and_ps(compareMask, vOnesVector));
}
-
+
// Calculate the mean from the remaining data points
_mm_store_ps(avgPointsVector, avgPointsVal);
@@ -104,7 +104,7 @@ static inline void volk_32f_s32f_calc_spectral_noise_floor_32f_a_sse(float* nois
validBinCount += 1.0;
}
}
-
+
float localNoiseFloorAmplitude = 0;
if(validBinCount > 0.0){
localNoiseFloorAmplitude = sumMean / validBinCount;
diff --git a/volk/include/volk/volk_32f_s32f_convert_16i_a.h b/volk/include/volk/volk_32f_s32f_convert_16i_a.h
index a24959678..9df4946f2 100644
--- a/volk/include/volk/volk_32f_s32f_convert_16i_a.h
+++ b/volk/include/volk/volk_32f_s32f_convert_16i_a.h
@@ -19,7 +19,7 @@ static inline void volk_32f_s32f_convert_16i_a_sse2(int16_t* outputVector, const
unsigned int number = 0;
const unsigned int eighthPoints = num_points / 8;
-
+
const float* inputVectorPtr = (const float*)inputVector;
int16_t* outputVectorPtr = outputVector;
@@ -51,7 +51,7 @@ static inline void volk_32f_s32f_convert_16i_a_sse2(int16_t* outputVector, const
outputVectorPtr += 8;
}
- number = eighthPoints * 8;
+ number = eighthPoints * 8;
for(; number < num_points; number++){
r = inputVector[number] * scalar;
if(r > max_val)
@@ -76,7 +76,7 @@ static inline void volk_32f_s32f_convert_16i_a_sse(int16_t* outputVector, const
unsigned int number = 0;
const unsigned int quarterPoints = num_points / 4;
-
+
const float* inputVectorPtr = (const float*)inputVector;
int16_t* outputVectorPtr = outputVector;
@@ -105,7 +105,7 @@ static inline void volk_32f_s32f_convert_16i_a_sse(int16_t* outputVector, const
*outputVectorPtr++ = (int16_t)rintf(outputFloatBuffer[3]);
}
- number = quarterPoints * 4;
+ number = quarterPoints * 4;
for(; number < num_points; number++){
r = inputVector[number] * scalar;
if(r > max_val)
diff --git a/volk/include/volk/volk_32f_s32f_convert_16i_u.h b/volk/include/volk/volk_32f_s32f_convert_16i_u.h
index f58158041..56e42c9bd 100644
--- a/volk/include/volk/volk_32f_s32f_convert_16i_u.h
+++ b/volk/include/volk/volk_32f_s32f_convert_16i_u.h
@@ -19,7 +19,7 @@ static inline void volk_32f_s32f_convert_16i_u_sse2(int16_t* outputVector, const
unsigned int number = 0;
const unsigned int eighthPoints = num_points / 8;
-
+
const float* inputVectorPtr = (const float*)inputVector;
int16_t* outputVectorPtr = outputVector;
@@ -51,7 +51,7 @@ static inline void volk_32f_s32f_convert_16i_u_sse2(int16_t* outputVector, const
outputVectorPtr += 8;
}
- number = eighthPoints * 8;
+ number = eighthPoints * 8;
for(; number < num_points; number++){
r = inputVector[number] * scalar;
if(r > max_val)
@@ -77,7 +77,7 @@ static inline void volk_32f_s32f_convert_16i_u_sse(int16_t* outputVector, const
unsigned int number = 0;
const unsigned int quarterPoints = num_points / 4;
-
+
const float* inputVectorPtr = (const float*)inputVector;
int16_t* outputVectorPtr = outputVector;
@@ -106,7 +106,7 @@ static inline void volk_32f_s32f_convert_16i_u_sse(int16_t* outputVector, const
*outputVectorPtr++ = (int16_t)rintf(outputFloatBuffer[3]);
}
- number = quarterPoints * 4;
+ number = quarterPoints * 4;
for(; number < num_points; number++){
r = inputVector[number] * scalar;
if(r > max_val)
diff --git a/volk/include/volk/volk_32f_s32f_convert_32i_a.h b/volk/include/volk/volk_32f_s32f_convert_32i_a.h
index 15fa282fb..38e6b2e74 100644
--- a/volk/include/volk/volk_32f_s32f_convert_32i_a.h
+++ b/volk/include/volk/volk_32f_s32f_convert_32i_a.h
@@ -18,7 +18,7 @@ static inline void volk_32f_s32f_convert_32i_a_avx(int32_t* outputVector, const
unsigned int number = 0;
const unsigned int eighthPoints = num_points / 8;
-
+
const float* inputVectorPtr = (const float*)inputVector;
int32_t* outputVectorPtr = outputVector;
@@ -42,7 +42,7 @@ static inline void volk_32f_s32f_convert_32i_a_avx(int32_t* outputVector, const
outputVectorPtr += 8;
}
- number = eighthPoints * 8;
+ number = eighthPoints * 8;
for(; number < num_points; number++){
r = inputVector[number] * scalar;
if(r > max_val)
@@ -67,7 +67,7 @@ static inline void volk_32f_s32f_convert_32i_a_sse2(int32_t* outputVector, const
unsigned int number = 0;
const unsigned int quarterPoints = num_points / 4;
-
+
const float* inputVectorPtr = (const float*)inputVector;
int32_t* outputVectorPtr = outputVector;
@@ -91,7 +91,7 @@ static inline void volk_32f_s32f_convert_32i_a_sse2(int32_t* outputVector, const
outputVectorPtr += 4;
}
- number = quarterPoints * 4;
+ number = quarterPoints * 4;
for(; number < num_points; number++){
r = inputVector[number] * scalar;
if(r > max_val)
@@ -116,7 +116,7 @@ static inline void volk_32f_s32f_convert_32i_a_sse(int32_t* outputVector, const
unsigned int number = 0;
const unsigned int quarterPoints = num_points / 4;
-
+
const float* inputVectorPtr = (const float*)inputVector;
int32_t* outputVectorPtr = outputVector;
@@ -144,7 +144,7 @@ static inline void volk_32f_s32f_convert_32i_a_sse(int32_t* outputVector, const
*outputVectorPtr++ = (int32_t)(outputFloatBuffer[3]);
}
- number = quarterPoints * 4;
+ number = quarterPoints * 4;
for(; number < num_points; number++){
r = inputVector[number] * scalar;
if(r > max_val)
diff --git a/volk/include/volk/volk_32f_s32f_convert_32i_u.h b/volk/include/volk/volk_32f_s32f_convert_32i_u.h
index d203546c6..ee15edb46 100644
--- a/volk/include/volk/volk_32f_s32f_convert_32i_u.h
+++ b/volk/include/volk/volk_32f_s32f_convert_32i_u.h
@@ -18,7 +18,7 @@ static inline void volk_32f_s32f_convert_32i_u_sse2(int32_t* outputVector, const
unsigned int number = 0;
const unsigned int quarterPoints = num_points / 4;
-
+
const float* inputVectorPtr = (const float*)inputVector;
int32_t* outputVectorPtr = outputVector;
@@ -42,7 +42,7 @@ static inline void volk_32f_s32f_convert_32i_u_sse2(int32_t* outputVector, const
outputVectorPtr += 4;
}
- number = quarterPoints * 4;
+ number = quarterPoints * 4;
for(; number < num_points; number++){
r = inputVector[number] * scalar;
if(r > max_val)
@@ -68,7 +68,7 @@ static inline void volk_32f_s32f_convert_32i_u_sse(int32_t* outputVector, const
unsigned int number = 0;
const unsigned int quarterPoints = num_points / 4;
-
+
const float* inputVectorPtr = (const float*)inputVector;
int32_t* outputVectorPtr = outputVector;
@@ -96,7 +96,7 @@ static inline void volk_32f_s32f_convert_32i_u_sse(int32_t* outputVector, const
*outputVectorPtr++ = (int32_t)(outputFloatBuffer[3]);
}
- number = quarterPoints * 4;
+ number = quarterPoints * 4;
for(; number < num_points; number++){
r = inputVector[number] * scalar;
if(r > max_val)
diff --git a/volk/include/volk/volk_32f_s32f_convert_8i_a.h b/volk/include/volk/volk_32f_s32f_convert_8i_a.h
index 05172171c..800017d5d 100644
--- a/volk/include/volk/volk_32f_s32f_convert_8i_a.h
+++ b/volk/include/volk/volk_32f_s32f_convert_8i_a.h
@@ -18,7 +18,7 @@ static inline void volk_32f_s32f_convert_8i_a_sse2(int8_t* outputVector, const f
unsigned int number = 0;
const unsigned int sixteenthPoints = num_points / 16;
-
+
const float* inputVectorPtr = (const float*)inputVector;
int8_t* outputVectorPtr = outputVector;
@@ -47,7 +47,7 @@ static inline void volk_32f_s32f_convert_8i_a_sse2(int8_t* outputVector, const f
intInputVal2 = _mm_cvtps_epi32(inputVal2);
intInputVal3 = _mm_cvtps_epi32(inputVal3);
intInputVal4 = _mm_cvtps_epi32(inputVal4);
-
+
intInputVal1 = _mm_packs_epi32(intInputVal1, intInputVal2);
intInputVal3 = _mm_packs_epi32(intInputVal3, intInputVal4);
@@ -57,7 +57,7 @@ static inline void volk_32f_s32f_convert_8i_a_sse2(int8_t* outputVector, const f
outputVectorPtr += 16;
}
- number = sixteenthPoints * 16;
+ number = sixteenthPoints * 16;
for(; number < num_points; number++){
r = inputVector[number] * scalar;
if(r > max_val)
@@ -82,7 +82,7 @@ static inline void volk_32f_s32f_convert_8i_a_sse(int8_t* outputVector, const fl
unsigned int number = 0;
const unsigned int quarterPoints = num_points / 4;
-
+
const float* inputVectorPtr = (const float*)inputVector;
float min_val = -128;
@@ -110,7 +110,7 @@ static inline void volk_32f_s32f_convert_8i_a_sse(int8_t* outputVector, const fl
*outputVectorPtr++ = (int8_t)(outputFloatBuffer[3]);
}
- number = quarterPoints * 4;
+ number = quarterPoints * 4;
for(; number < num_points; number++){
r = inputVector[number] * scalar;
if(r > max_val)
diff --git a/volk/include/volk/volk_32f_s32f_convert_8i_u.h b/volk/include/volk/volk_32f_s32f_convert_8i_u.h
index 12991e9c1..870e9419b 100644
--- a/volk/include/volk/volk_32f_s32f_convert_8i_u.h
+++ b/volk/include/volk/volk_32f_s32f_convert_8i_u.h
@@ -18,7 +18,7 @@ static inline void volk_32f_s32f_convert_8i_u_sse2(int8_t* outputVector, const f
unsigned int number = 0;
const unsigned int sixteenthPoints = num_points / 16;
-
+
const float* inputVectorPtr = (const float*)inputVector;
int8_t* outputVectorPtr = outputVector;
@@ -47,7 +47,7 @@ static inline void volk_32f_s32f_convert_8i_u_sse2(int8_t* outputVector, const f
intInputVal2 = _mm_cvtps_epi32(inputVal2);
intInputVal3 = _mm_cvtps_epi32(inputVal3);
intInputVal4 = _mm_cvtps_epi32(inputVal4);
-
+
intInputVal1 = _mm_packs_epi32(intInputVal1, intInputVal2);
intInputVal3 = _mm_packs_epi32(intInputVal3, intInputVal4);
@@ -57,7 +57,7 @@ static inline void volk_32f_s32f_convert_8i_u_sse2(int8_t* outputVector, const f
outputVectorPtr += 16;
}
- number = sixteenthPoints * 16;
+ number = sixteenthPoints * 16;
for(; number < num_points; number++){
r = inputVector[number] * scalar;
if(r > max_val)
@@ -83,7 +83,7 @@ static inline void volk_32f_s32f_convert_8i_u_sse(int8_t* outputVector, const fl
unsigned int number = 0;
const unsigned int quarterPoints = num_points / 4;
-
+
const float* inputVectorPtr = (const float*)inputVector;
int8_t* outputVectorPtr = outputVector;
@@ -111,7 +111,7 @@ static inline void volk_32f_s32f_convert_8i_u_sse(int8_t* outputVector, const fl
*outputVectorPtr++ = (int8_t)(outputFloatBuffer[3]);
}
- number = quarterPoints * 4;
+ number = quarterPoints * 4;
for(; number < num_points; number++){
r = inputVector[number] * scalar;
if(r > max_val)
diff --git a/volk/include/volk/volk_32f_s32f_multiply_32f_a.h b/volk/include/volk/volk_32f_s32f_multiply_32f_a.h
index d1c6f3f65..99b8e68c5 100644
--- a/volk/include/volk/volk_32f_s32f_multiply_32f_a.h
+++ b/volk/include/volk/volk_32f_s32f_multiply_32f_a.h
@@ -23,11 +23,11 @@ static inline void volk_32f_s32f_multiply_32f_a_sse(float* cVector, const float*
__m128 aVal, bVal, cVal;
bVal = _mm_set_ps1(scalar);
for(;number < quarterPoints; number++){
-
- aVal = _mm_load_ps(aPtr);
-
- cVal = _mm_mul_ps(aVal, bVal);
-
+
+ aVal = _mm_load_ps(aPtr);
+
+ cVal = _mm_mul_ps(aVal, bVal);
+
_mm_store_ps(cPtr,cVal); // Store the results back into the C container
aPtr += 4;
@@ -60,11 +60,11 @@ static inline void volk_32f_s32f_multiply_32f_a_avx(float* cVector, const float*
__m256 aVal, bVal, cVal;
bVal = _mm256_set1_ps(scalar);
for(;number < eighthPoints; number++){
-
- aVal = _mm256_load_ps(aPtr);
-
- cVal = _mm256_mul_ps(aVal, bVal);
-
+
+ aVal = _mm256_load_ps(aPtr);
+
+ cVal = _mm256_mul_ps(aVal, bVal);
+
_mm256_store_ps(cPtr,cVal); // Store the results back into the C container
aPtr += 8;
diff --git a/volk/include/volk/volk_32f_s32f_multiply_32f_u.h b/volk/include/volk/volk_32f_s32f_multiply_32f_u.h
index 0e700060f..b3fae9b05 100644
--- a/volk/include/volk/volk_32f_s32f_multiply_32f_u.h
+++ b/volk/include/volk/volk_32f_s32f_multiply_32f_u.h
@@ -23,11 +23,11 @@ static inline void volk_32f_s32f_multiply_32f_u_sse(float* cVector, const float*
__m128 aVal, bVal, cVal;
bVal = _mm_set_ps1(scalar);
for(;number < quarterPoints; number++){
-
- aVal = _mm_loadu_ps(aPtr);
-
- cVal = _mm_mul_ps(aVal, bVal);
-
+
+ aVal = _mm_loadu_ps(aPtr);
+
+ cVal = _mm_mul_ps(aVal, bVal);
+
_mm_storeu_ps(cPtr,cVal); // Store the results back into the C container
aPtr += 4;
@@ -60,11 +60,11 @@ static inline void volk_32f_s32f_multiply_32f_u_avx(float* cVector, const float*
__m256 aVal, bVal, cVal;
bVal = _mm256_set1_ps(scalar);
for(;number < eighthPoints; number++){
-
- aVal = _mm256_loadu_ps(aPtr);
-
- cVal = _mm256_mul_ps(aVal, bVal);
-
+
+ aVal = _mm256_loadu_ps(aPtr);
+
+ cVal = _mm256_mul_ps(aVal, bVal);
+
_mm256_storeu_ps(cPtr,cVal); // Store the results back into the C container
aPtr += 8;
diff --git a/volk/include/volk/volk_32f_s32f_power_32f_a.h b/volk/include/volk/volk_32f_s32f_power_32f_a.h
index 09c905961..633ad14b0 100644
--- a/volk/include/volk/volk_32f_s32f_power_32f_a.h
+++ b/volk/include/volk/volk_32f_s32f_power_32f_a.h
@@ -21,7 +21,7 @@
*/
static inline void volk_32f_s32f_power_32f_a_sse4_1(float* cVector, const float* aVector, const float power, unsigned int num_points){
unsigned int number = 0;
-
+
float* cPtr = cVector;
const float* aPtr = aVector;
@@ -33,22 +33,22 @@ static inline void volk_32f_s32f_power_32f_a_sse4_1(float* cVector, const float*
__m128 negatedValues;
__m128 negativeOneToPower = _mm_set_ps1(powf(-1, power));
__m128 onesMask = _mm_set_ps1(1);
-
+
__m128 aVal, cVal;
for(;number < quarterPoints; number++){
-
+
aVal = _mm_load_ps(aPtr);
signMask = _mm_cmplt_ps(aVal, zeroValue);
negatedValues = _mm_sub_ps(zeroValue, aVal);
aVal = _mm_blendv_ps(aVal, negatedValues, signMask);
-
+
// powf4 doesn't support negative values in the base, so we mask them off and then apply the negative after
cVal = powf4(aVal, vPower); // Takes each input value to the specified power
cVal = _mm_mul_ps( _mm_blendv_ps(onesMask, negativeOneToPower, signMask), cVal);
_mm_store_ps(cPtr,cVal); // Store the results back into the C container
-
+
aPtr += 4;
cPtr += 4;
}
@@ -78,7 +78,7 @@ static inline void volk_32f_s32f_power_32f_a_sse4_1(float* cVector, const float*
*/
static inline void volk_32f_s32f_power_32f_a_sse(float* cVector, const float* aVector, const float power, unsigned int num_points){
unsigned int number = 0;
-
+
float* cPtr = cVector;
const float* aPtr = aVector;
@@ -90,22 +90,22 @@ static inline void volk_32f_s32f_power_32f_a_sse(float* cVector, const float* aV
__m128 negatedValues;
__m128 negativeOneToPower = _mm_set_ps1(powf(-1, power));
__m128 onesMask = _mm_set_ps1(1);
-
+
__m128 aVal, cVal;
for(;number < quarterPoints; number++){
-
+
aVal = _mm_load_ps(aPtr);
signMask = _mm_cmplt_ps(aVal, zeroValue);
negatedValues = _mm_sub_ps(zeroValue, aVal);
aVal = _mm_or_ps(_mm_andnot_ps(signMask, aVal), _mm_and_ps(signMask, negatedValues) );
-
+
// powf4 doesn't support negative values in the base, so we mask them off and then apply the negative after
cVal = powf4(aVal, vPower); // Takes each input value to the specified power
cVal = _mm_mul_ps( _mm_or_ps( _mm_andnot_ps(signMask, onesMask), _mm_and_ps(signMask, negativeOneToPower) ), cVal);
_mm_store_ps(cPtr,cVal); // Store the results back into the C container
-
+
aPtr += 4;
cPtr += 4;
}
diff --git a/volk/include/volk/volk_32f_s32f_stddev_32f_a.h b/volk/include/volk/volk_32f_s32f_stddev_32f_a.h
index 75fe0cb2e..98401b2d4 100644
--- a/volk/include/volk/volk_32f_s32f_stddev_32f_a.h
+++ b/volk/include/volk/volk_32f_s32f_stddev_32f_a.h
@@ -29,7 +29,7 @@ static inline void volk_32f_s32f_stddev_32f_a_sse4_1(float* stddev, const float*
__m128 aVal1, aVal2, aVal3, aVal4;
__m128 cVal1, cVal2, cVal3, cVal4;
for(;number < sixteenthPoints; number++) {
- aVal1 = _mm_load_ps(aPtr); aPtr += 4;
+ aVal1 = _mm_load_ps(aPtr); aPtr += 4;
cVal1 = _mm_dp_ps(aVal1, aVal1, 0xF1);
aVal2 = _mm_load_ps(aPtr); aPtr += 4;
@@ -47,12 +47,12 @@ static inline void volk_32f_s32f_stddev_32f_a_sse4_1(float* stddev, const float*
squareAccumulator = _mm_add_ps(squareAccumulator, cVal1); // squareAccumulator += x^2
}
- _mm_store_ps(squareBuffer,squareAccumulator); // Store the results back into the C container
+ _mm_store_ps(squareBuffer,squareAccumulator); // Store the results back into the C container
returnValue = squareBuffer[0];
returnValue += squareBuffer[1];
returnValue += squareBuffer[2];
returnValue += squareBuffer[3];
-
+
number = sixteenthPoints * 16;
for(;number < num_points; number++){
returnValue += (*aPtr) * (*aPtr);
@@ -93,12 +93,12 @@ static inline void volk_32f_s32f_stddev_32f_a_sse(float* stddev, const float* in
squareAccumulator = _mm_add_ps(squareAccumulator, aVal);
aPtr += 4;
}
- _mm_store_ps(squareBuffer,squareAccumulator); // Store the results back into the C container
+ _mm_store_ps(squareBuffer,squareAccumulator); // Store the results back into the C container
returnValue = squareBuffer[0];
returnValue += squareBuffer[1];
returnValue += squareBuffer[2];
returnValue += squareBuffer[3];
-
+
number = quarterPoints * 4;
for(;number < num_points; number++){
returnValue += (*aPtr) * (*aPtr);
@@ -125,7 +125,7 @@ static inline void volk_32f_s32f_stddev_32f_a_generic(float* stddev, const float
if(num_points > 0){
const float* aPtr = inputBuffer;
unsigned int number = 0;
-
+
for(number = 0; number < num_points; number++){
returnValue += (*aPtr) * (*aPtr);
aPtr++;
diff --git a/volk/include/volk/volk_32f_sqrt_32f_a.h b/volk/include/volk/volk_32f_sqrt_32f_a.h
index e44c73cfd..d9b16fc0f 100644
--- a/volk/include/volk/volk_32f_sqrt_32f_a.h
+++ b/volk/include/volk/volk_32f_sqrt_32f_a.h
@@ -22,11 +22,11 @@ static inline void volk_32f_sqrt_32f_a_sse(float* cVector, const float* aVector,
__m128 aVal, cVal;
for(;number < quarterPoints; number++){
-
- aVal = _mm_load_ps(aPtr);
-
- cVal = _mm_sqrt_ps(aVal);
-
+
+ aVal = _mm_load_ps(aPtr);
+
+ cVal = _mm_sqrt_ps(aVal);
+
_mm_store_ps(cPtr,cVal); // Store the results back into the C container
aPtr += 4;
diff --git a/volk/include/volk/volk_32f_stddev_and_mean_32f_x2_a.h b/volk/include/volk/volk_32f_stddev_and_mean_32f_x2_a.h
index 20ff676d8..7de32f7b1 100644
--- a/volk/include/volk/volk_32f_stddev_and_mean_32f_x2_a.h
+++ b/volk/include/volk/volk_32f_stddev_and_mean_32f_x2_a.h
@@ -31,7 +31,7 @@ static inline void volk_32f_stddev_and_mean_32f_x2_a_sse4_1(float* stddev, float
__m128 aVal1, aVal2, aVal3, aVal4;
__m128 cVal1, cVal2, cVal3, cVal4;
for(;number < sixteenthPoints; number++) {
- aVal1 = _mm_load_ps(aPtr); aPtr += 4;
+ aVal1 = _mm_load_ps(aPtr); aPtr += 4;
cVal1 = _mm_dp_ps(aVal1, aVal1, 0xF1);
accumulator = _mm_add_ps(accumulator, aVal1); // accumulator += x
@@ -54,7 +54,7 @@ static inline void volk_32f_stddev_and_mean_32f_x2_a_sse4_1(float* stddev, float
squareAccumulator = _mm_add_ps(squareAccumulator, cVal1); // squareAccumulator += x^2
}
_mm_store_ps(meanBuffer,accumulator); // Store the results back into the C container
- _mm_store_ps(squareBuffer,squareAccumulator); // Store the results back into the C container
+ _mm_store_ps(squareBuffer,squareAccumulator); // Store the results back into the C container
newMean = meanBuffer[0];
newMean += meanBuffer[1];
newMean += meanBuffer[2];
@@ -63,7 +63,7 @@ static inline void volk_32f_stddev_and_mean_32f_x2_a_sse4_1(float* stddev, float
returnValue += squareBuffer[1];
returnValue += squareBuffer[2];
returnValue += squareBuffer[3];
-
+
number = sixteenthPoints * 16;
for(;number < num_points; number++){
returnValue += (*aPtr) * (*aPtr);
@@ -110,7 +110,7 @@ static inline void volk_32f_stddev_and_mean_32f_x2_a_sse(float* stddev, float* m
aPtr += 4;
}
_mm_store_ps(meanBuffer,accumulator); // Store the results back into the C container
- _mm_store_ps(squareBuffer,squareAccumulator); // Store the results back into the C container
+ _mm_store_ps(squareBuffer,squareAccumulator); // Store the results back into the C container
newMean = meanBuffer[0];
newMean += meanBuffer[1];
newMean += meanBuffer[2];
@@ -119,7 +119,7 @@ static inline void volk_32f_stddev_and_mean_32f_x2_a_sse(float* stddev, float* m
returnValue += squareBuffer[1];
returnValue += squareBuffer[2];
returnValue += squareBuffer[3];
-
+
number = quarterPoints * 4;
for(;number < num_points; number++){
returnValue += (*aPtr) * (*aPtr);
@@ -149,7 +149,7 @@ static inline void volk_32f_stddev_and_mean_32f_x2_a_generic(float* stddev, floa
if(num_points > 0){
const float* aPtr = inputBuffer;
unsigned int number = 0;
-
+
for(number = 0; number < num_points; number++){
returnValue += (*aPtr) * (*aPtr);
newMean += *aPtr++;
diff --git a/volk/include/volk/volk_32f_x2_add_32f_a.h b/volk/include/volk/volk_32f_x2_add_32f_a.h
index 3bc83653b..51e63e54d 100644
--- a/volk/include/volk/volk_32f_x2_add_32f_a.h
+++ b/volk/include/volk/volk_32f_x2_add_32f_a.h
@@ -23,12 +23,12 @@ static inline void volk_32f_x2_add_32f_a_sse(float* cVector, const float* aVecto
__m128 aVal, bVal, cVal;
for(;number < quarterPoints; number++){
-
- aVal = _mm_load_ps(aPtr);
+
+ aVal = _mm_load_ps(aPtr);
bVal = _mm_load_ps(bPtr);
-
- cVal = _mm_add_ps(aVal, bVal);
-
+
+ cVal = _mm_add_ps(aVal, bVal);
+
_mm_store_ps(cPtr,cVal); // Store the results back into the C container
aPtr += 4;
diff --git a/volk/include/volk/volk_32f_x2_add_32f_u.h b/volk/include/volk/volk_32f_x2_add_32f_u.h
index e360a7958..52e8286bc 100644
--- a/volk/include/volk/volk_32f_x2_add_32f_u.h
+++ b/volk/include/volk/volk_32f_x2_add_32f_u.h
@@ -23,12 +23,12 @@ static inline void volk_32f_x2_add_32f_u_sse(float* cVector, const float* aVecto
__m128 aVal, bVal, cVal;
for(;number < quarterPoints; number++){
-
- aVal = _mm_loadu_ps(aPtr);
+
+ aVal = _mm_loadu_ps(aPtr);
bVal = _mm_loadu_ps(bPtr);
-
- cVal = _mm_add_ps(aVal, bVal);
-
+
+ cVal = _mm_add_ps(aVal, bVal);
+
_mm_storeu_ps(cPtr,cVal); // Store the results back into the C container
aPtr += 4;
diff --git a/volk/include/volk/volk_32f_x2_divide_32f_a.h b/volk/include/volk/volk_32f_x2_divide_32f_a.h
index 52ddfae87..7b60fb22e 100644
--- a/volk/include/volk/volk_32f_x2_divide_32f_a.h
+++ b/volk/include/volk/volk_32f_x2_divide_32f_a.h
@@ -23,12 +23,12 @@ static inline void volk_32f_x2_divide_32f_a_sse(float* cVector, const float* aVe
__m128 aVal, bVal, cVal;
for(;number < quarterPoints; number++){
-
- aVal = _mm_load_ps(aPtr);
+
+ aVal = _mm_load_ps(aPtr);
bVal = _mm_load_ps(bPtr);
-
- cVal = _mm_div_ps(aVal, bVal);
-
+
+ cVal = _mm_div_ps(aVal, bVal);
+
_mm_store_ps(cPtr,cVal); // Store the results back into the C container
aPtr += 4;
diff --git a/volk/include/volk/volk_32f_x2_dot_prod_32f_a.h b/volk/include/volk/volk_32f_x2_dot_prod_32f_a.h
index 0c58f2ecf..448b2fdc0 100644
--- a/volk/include/volk/volk_32f_x2_dot_prod_32f_a.h
+++ b/volk/include/volk/volk_32f_x2_dot_prod_32f_a.h
@@ -18,7 +18,7 @@ static inline void volk_32f_x2_dot_prod_32f_a_generic(float * result, const floa
for(number = 0; number < num_points; number++){
dotProduct += ((*aPtr++) * (*bPtr++));
}
-
+
*result = dotProduct;
}
@@ -29,7 +29,7 @@ static inline void volk_32f_x2_dot_prod_32f_a_generic(float * result, const floa
static inline void volk_32f_x2_dot_prod_32f_a_sse( float* result, const float* input, const float* taps, unsigned int num_points) {
-
+
unsigned int number = 0;
const unsigned int quarterPoints = num_points / 4;
@@ -42,11 +42,11 @@ static inline void volk_32f_x2_dot_prod_32f_a_sse( float* result, const float*
__m128 dotProdVal = _mm_setzero_ps();
for(;number < quarterPoints; number++){
-
- aVal = _mm_load_ps(aPtr);
+
+ aVal = _mm_load_ps(aPtr);
bVal = _mm_load_ps(bPtr);
-
- cVal = _mm_mul_ps(aVal, bVal);
+
+ cVal = _mm_mul_ps(aVal, bVal);
dotProdVal = _mm_add_ps(cVal, dotProdVal);
@@ -69,10 +69,10 @@ static inline void volk_32f_x2_dot_prod_32f_a_sse( float* result, const float*
}
*result = dotProduct;
-
+
}
-#endif /*LV_HAVE_SSE*/
+#endif /*LV_HAVE_SSE*/
#ifdef LV_HAVE_SSE3
@@ -91,11 +91,11 @@ static inline void volk_32f_x2_dot_prod_32f_a_sse3(float * result, const float *
__m128 dotProdVal = _mm_setzero_ps();
for(;number < quarterPoints; number++){
-
- aVal = _mm_load_ps(aPtr);
+
+ aVal = _mm_load_ps(aPtr);
bVal = _mm_load_ps(bPtr);
-
- cVal = _mm_mul_ps(aVal, bVal);
+
+ cVal = _mm_mul_ps(aVal, bVal);
dotProdVal = _mm_hadd_ps(dotProdVal, cVal);
@@ -117,7 +117,7 @@ static inline void volk_32f_x2_dot_prod_32f_a_sse3(float * result, const float *
}
*result = dotProduct;
-}
+}
#endif /*LV_HAVE_SSE3*/
@@ -140,7 +140,7 @@ static inline void volk_32f_x2_dot_prod_32f_a_sse4_1(float * result, const float
__m128 dotProdVal = _mm_setzero_ps();
- for(;number < sixteenthPoints; number++){
+ for(;number < sixteenthPoints; number++){
aVal1 = _mm_load_ps(aPtr); aPtr += 4;
aVal2 = _mm_load_ps(aPtr); aPtr += 4;
@@ -151,7 +151,7 @@ static inline void volk_32f_x2_dot_prod_32f_a_sse4_1(float * result, const float
bVal2 = _mm_load_ps(bPtr); bPtr += 4;
bVal3 = _mm_load_ps(bPtr); bPtr += 4;
bVal4 = _mm_load_ps(bPtr); bPtr += 4;
-
+
cVal1 = _mm_dp_ps(aVal1, bVal1, 0xF1);
cVal2 = _mm_dp_ps(aVal2, bVal2, 0xF2);
cVal3 = _mm_dp_ps(aVal3, bVal3, 0xF4);
@@ -178,7 +178,7 @@ static inline void volk_32f_x2_dot_prod_32f_a_sse4_1(float * result, const float
}
*result = dotProduct;
-}
+}
#endif /*LV_HAVE_SSE4_1*/
diff --git a/volk/include/volk/volk_32f_x2_dot_prod_32f_u.h b/volk/include/volk/volk_32f_x2_dot_prod_32f_u.h
index 7f47122ff..3b7284b57 100644
--- a/volk/include/volk/volk_32f_x2_dot_prod_32f_u.h
+++ b/volk/include/volk/volk_32f_x2_dot_prod_32f_u.h
@@ -17,7 +17,7 @@ static inline void volk_32f_x2_dot_prod_32f_u_generic(float * result, const floa
for(number = 0; number < num_points; number++){
dotProduct += ((*aPtr++) * (*bPtr++));
}
-
+
*result = dotProduct;
}
@@ -28,7 +28,7 @@ static inline void volk_32f_x2_dot_prod_32f_u_generic(float * result, const floa
static inline void volk_32f_x2_dot_prod_32f_u_sse( float* result, const float* input, const float* taps, unsigned int num_points) {
-
+
unsigned int number = 0;
const unsigned int quarterPoints = num_points / 4;
@@ -41,11 +41,11 @@ static inline void volk_32f_x2_dot_prod_32f_u_sse( float* result, const float*
__m128 dotProdVal = _mm_setzero_ps();
for(;number < quarterPoints; number++){
-
- aVal = _mm_loadu_ps(aPtr);
+
+ aVal = _mm_loadu_ps(aPtr);
bVal = _mm_loadu_ps(bPtr);
-
- cVal = _mm_mul_ps(aVal, bVal);
+
+ cVal = _mm_mul_ps(aVal, bVal);
dotProdVal = _mm_add_ps(cVal, dotProdVal);
@@ -68,10 +68,10 @@ static inline void volk_32f_x2_dot_prod_32f_u_sse( float* result, const float*
}
*result = dotProduct;
-
+
}
-#endif /*LV_HAVE_SSE*/
+#endif /*LV_HAVE_SSE*/
#ifdef LV_HAVE_SSE3
@@ -90,11 +90,11 @@ static inline void volk_32f_x2_dot_prod_32f_u_sse3(float * result, const float *
__m128 dotProdVal = _mm_setzero_ps();
for(;number < quarterPoints; number++){
-
- aVal = _mm_loadu_ps(aPtr);
+
+ aVal = _mm_loadu_ps(aPtr);
bVal = _mm_loadu_ps(bPtr);
-
- cVal = _mm_mul_ps(aVal, bVal);
+
+ cVal = _mm_mul_ps(aVal, bVal);
dotProdVal = _mm_hadd_ps(dotProdVal, cVal);
@@ -116,7 +116,7 @@ static inline void volk_32f_x2_dot_prod_32f_u_sse3(float * result, const float *
}
*result = dotProduct;
-}
+}
#endif /*LV_HAVE_SSE3*/
@@ -140,7 +140,7 @@ static inline void volk_32f_x2_dot_prod_32f_u_sse4_1(float * result, const float
__m128 dotProdVal = _mm_setzero_ps();
for(;number < sixteenthPoints; number++){
-
+
aVal1 = _mm_loadu_ps(aPtr); aPtr += 4;
aVal2 = _mm_loadu_ps(aPtr); aPtr += 4;
aVal3 = _mm_loadu_ps(aPtr); aPtr += 4;
@@ -150,7 +150,7 @@ static inline void volk_32f_x2_dot_prod_32f_u_sse4_1(float * result, const float
bVal2 = _mm_loadu_ps(bPtr); bPtr += 4;
bVal3 = _mm_loadu_ps(bPtr); bPtr += 4;
bVal4 = _mm_loadu_ps(bPtr); bPtr += 4;
-
+
cVal1 = _mm_dp_ps(aVal1, bVal1, 0xF1);
cVal2 = _mm_dp_ps(aVal2, bVal2, 0xF2);
cVal3 = _mm_dp_ps(aVal3, bVal3, 0xF4);
@@ -177,7 +177,7 @@ static inline void volk_32f_x2_dot_prod_32f_u_sse4_1(float * result, const float
}
*result = dotProduct;
-}
+}
#endif /*LV_HAVE_SSE4_1*/
diff --git a/volk/include/volk/volk_32f_x2_interleave_32fc_a.h b/volk/include/volk/volk_32f_x2_interleave_32fc_a.h
index 1d4d2dbbd..52d80b6bb 100644
--- a/volk/include/volk/volk_32f_x2_interleave_32fc_a.h
+++ b/volk/include/volk/volk_32f_x2_interleave_32fc_a.h
@@ -20,7 +20,7 @@ static inline void volk_32f_x2_interleave_32fc_a_sse(lv_32fc_t* complexVector, c
const float* qBufferPtr = qBuffer;
const uint64_t quarterPoints = num_points / 4;
-
+
__m128 iValue, qValue, cplxValue;
for(;number < quarterPoints; number++){
iValue = _mm_load_ps(iBufferPtr);
diff --git a/volk/include/volk/volk_32f_x2_max_32f_a.h b/volk/include/volk/volk_32f_x2_max_32f_a.h
index 7948c458d..79f2d04b5 100644
--- a/volk/include/volk/volk_32f_x2_max_32f_a.h
+++ b/volk/include/volk/volk_32f_x2_max_32f_a.h
@@ -23,12 +23,12 @@ static inline void volk_32f_x2_max_32f_a_sse(float* cVector, const float* aVecto
__m128 aVal, bVal, cVal;
for(;number < quarterPoints; number++){
-
- aVal = _mm_load_ps(aPtr);
+
+ aVal = _mm_load_ps(aPtr);
bVal = _mm_load_ps(bPtr);
-
- cVal = _mm_max_ps(aVal, bVal);
-
+
+ cVal = _mm_max_ps(aVal, bVal);
+
_mm_store_ps(cPtr,cVal); // Store the results back into the C container
aPtr += 4;
diff --git a/volk/include/volk/volk_32f_x2_min_32f_a.h b/volk/include/volk/volk_32f_x2_min_32f_a.h
index d77134868..42cac0833 100644
--- a/volk/include/volk/volk_32f_x2_min_32f_a.h
+++ b/volk/include/volk/volk_32f_x2_min_32f_a.h
@@ -23,12 +23,12 @@ static inline void volk_32f_x2_min_32f_a_sse(float* cVector, const float* aVecto
__m128 aVal, bVal, cVal;
for(;number < quarterPoints; number++){
-
- aVal = _mm_load_ps(aPtr);
+
+ aVal = _mm_load_ps(aPtr);
bVal = _mm_load_ps(bPtr);
-
- cVal = _mm_min_ps(aVal, bVal);
-
+
+ cVal = _mm_min_ps(aVal, bVal);
+
_mm_store_ps(cPtr,cVal); // Store the results back into the C container
aPtr += 4;
diff --git a/volk/include/volk/volk_32f_x2_multiply_32f_a.h b/volk/include/volk/volk_32f_x2_multiply_32f_a.h
index fae9a652f..340e05165 100644
--- a/volk/include/volk/volk_32f_x2_multiply_32f_a.h
+++ b/volk/include/volk/volk_32f_x2_multiply_32f_a.h
@@ -23,12 +23,12 @@ static inline void volk_32f_x2_multiply_32f_a_sse(float* cVector, const float* a
__m128 aVal, bVal, cVal;
for(;number < quarterPoints; number++){
-
- aVal = _mm_load_ps(aPtr);
+
+ aVal = _mm_load_ps(aPtr);
bVal = _mm_load_ps(bPtr);
-
- cVal = _mm_mul_ps(aVal, bVal);
-
+
+ cVal = _mm_mul_ps(aVal, bVal);
+
_mm_store_ps(cPtr,cVal); // Store the results back into the C container
aPtr += 4;
@@ -62,12 +62,12 @@ static inline void volk_32f_x2_multiply_32f_a_avx(float* cVector, const float* a
__m256 aVal, bVal, cVal;
for(;number < eighthPoints; number++){
-
- aVal = _mm256_load_ps(aPtr);
+
+ aVal = _mm256_load_ps(aPtr);
bVal = _mm256_load_ps(bPtr);
-
- cVal = _mm256_mul_ps(aVal, bVal);
-
+
+ cVal = _mm256_mul_ps(aVal, bVal);
+
_mm256_store_ps(cPtr,cVal); // Store the results back into the C container
aPtr += 8;
diff --git a/volk/include/volk/volk_32f_x2_multiply_32f_u.h b/volk/include/volk/volk_32f_x2_multiply_32f_u.h
index 6c3ce5d83..bfb896d60 100644
--- a/volk/include/volk/volk_32f_x2_multiply_32f_u.h
+++ b/volk/include/volk/volk_32f_x2_multiply_32f_u.h
@@ -23,12 +23,12 @@ static inline void volk_32f_x2_multiply_32f_u_sse(float* cVector, const float* a
__m128 aVal, bVal, cVal;
for(;number < quarterPoints; number++){
-
- aVal = _mm_loadu_ps(aPtr);
+
+ aVal = _mm_loadu_ps(aPtr);
bVal = _mm_loadu_ps(bPtr);
-
- cVal = _mm_mul_ps(aVal, bVal);
-
+
+ cVal = _mm_mul_ps(aVal, bVal);
+
_mm_storeu_ps(cPtr,cVal); // Store the results back into the C container
aPtr += 4;
@@ -62,12 +62,12 @@ static inline void volk_32f_x2_multiply_32f_u_avx(float* cVector, const float* a
__m256 aVal, bVal, cVal;
for(;number < eighthPoints; number++){
-
- aVal = _mm256_loadu_ps(aPtr);
+
+ aVal = _mm256_loadu_ps(aPtr);
bVal = _mm256_loadu_ps(bPtr);
-
- cVal = _mm256_mul_ps(aVal, bVal);
-
+
+ cVal = _mm256_mul_ps(aVal, bVal);
+
_mm256_storeu_ps(cPtr,cVal); // Store the results back into the C container
aPtr += 8;
diff --git a/volk/include/volk/volk_32f_x2_s32f_interleave_16ic_a.h b/volk/include/volk/volk_32f_x2_s32f_interleave_16ic_a.h
index cc02c3678..10fc267dc 100644
--- a/volk/include/volk/volk_32f_x2_s32f_interleave_16ic_a.h
+++ b/volk/include/volk/volk_32f_x2_s32f_interleave_16ic_a.h
@@ -23,7 +23,7 @@ static inline void volk_32f_x2_s32f_interleave_16ic_a_sse2(lv_16sc_t* complexVec
__m128 vScalar = _mm_set_ps1(scalar);
const unsigned int quarterPoints = num_points / 4;
-
+
__m128 iValue, qValue, cplxValue1, cplxValue2;
__m128i intValue1, intValue2;
@@ -59,7 +59,7 @@ static inline void volk_32f_x2_s32f_interleave_16ic_a_sse2(lv_16sc_t* complexVec
*complexVectorPtr++ = (int16_t)(*iBufferPtr++ * scalar);
*complexVectorPtr++ = (int16_t)(*qBufferPtr++ * scalar);
}
-
+
}
#endif /* LV_HAVE_SSE2 */
@@ -81,7 +81,7 @@ static inline void volk_32f_x2_s32f_interleave_16ic_a_sse(lv_16sc_t* complexVect
__m128 vScalar = _mm_set_ps1(scalar);
const unsigned int quarterPoints = num_points / 4;
-
+
__m128 iValue, qValue, cplxValue;
int16_t* complexVectorPtr = (int16_t*)complexVector;
@@ -106,9 +106,9 @@ static inline void volk_32f_x2_s32f_interleave_16ic_a_sse(lv_16sc_t* complexVect
// Interleaves the upper two values in the i and q variables into one buffer
cplxValue = _mm_unpackhi_ps(iValue, qValue);
cplxValue = _mm_mul_ps(cplxValue, vScalar);
-
+
_mm_store_ps(floatBuffer, cplxValue);
-
+
*complexVectorPtr++ = (int16_t)(floatBuffer[0]);
*complexVectorPtr++ = (int16_t)(floatBuffer[1]);
*complexVectorPtr++ = (int16_t)(floatBuffer[2]);
@@ -124,7 +124,7 @@ static inline void volk_32f_x2_s32f_interleave_16ic_a_sse(lv_16sc_t* complexVect
*complexVectorPtr++ = (int16_t)(*iBufferPtr++ * scalar);
*complexVectorPtr++ = (int16_t)(*qBufferPtr++ * scalar);
}
-
+
}
#endif /* LV_HAVE_SSE */
diff --git a/volk/include/volk/volk_32f_x2_subtract_32f_a.h b/volk/include/volk/volk_32f_x2_subtract_32f_a.h
index 16cad008a..e2b8be797 100644
--- a/volk/include/volk/volk_32f_x2_subtract_32f_a.h
+++ b/volk/include/volk/volk_32f_x2_subtract_32f_a.h
@@ -23,12 +23,12 @@ static inline void volk_32f_x2_subtract_32f_a_sse(float* cVector, const float* a
__m128 aVal, bVal, cVal;
for(;number < quarterPoints; number++){
-
- aVal = _mm_load_ps(aPtr);
+
+ aVal = _mm_load_ps(aPtr);
bVal = _mm_load_ps(bPtr);
-
- cVal = _mm_sub_ps(aVal, bVal);
-
+
+ cVal = _mm_sub_ps(aVal, bVal);
+
_mm_store_ps(cPtr,cVal); // Store the results back into the C container
aPtr += 4;
diff --git a/volk/include/volk/volk_32f_x3_sum_of_poly_32f_a.h b/volk/include/volk/volk_32f_x3_sum_of_poly_32f_a.h
index 153bb3a25..3c530628c 100644
--- a/volk/include/volk/volk_32f_x3_sum_of_poly_32f_a.h
+++ b/volk/include/volk/volk_32f_x3_sum_of_poly_32f_a.h
@@ -14,33 +14,33 @@
#include<pmmintrin.h>
static inline void volk_32f_x3_sum_of_poly_32f_a_sse3(float* target, float* src0, float* center_point_array, float* cutoff, unsigned int num_bytes) {
-
-
+
+
float result = 0.0;
float fst = 0.0;
float sq = 0.0;
float thrd = 0.0;
float frth = 0.0;
//float fith = 0.0;
-
-
-
+
+
+
__m128 xmm0, xmm1, xmm2, xmm3, xmm4, xmm5, xmm6, xmm7, xmm8, xmm9, xmm10;// xmm11, xmm12;
xmm9 = _mm_setzero_ps();
xmm1 = _mm_setzero_ps();
-
+
xmm0 = _mm_load1_ps(&center_point_array[0]);
xmm6 = _mm_load1_ps(&center_point_array[1]);
xmm7 = _mm_load1_ps(&center_point_array[2]);
xmm8 = _mm_load1_ps(&center_point_array[3]);
//xmm11 = _mm_load1_ps(&center_point_array[4]);
xmm10 = _mm_load1_ps(cutoff);
-
+
int bound = num_bytes >> 4;
int leftovers = (num_bytes >> 2) & 3;
int i = 0;
-
+
for(; i < bound; ++i) {
xmm2 = _mm_load_ps(src0);
xmm2 = _mm_max_ps(xmm10, xmm2);
@@ -57,23 +57,23 @@ static inline void volk_32f_x3_sum_of_poly_32f_a_sse3(float* target, float* src0
xmm2 = _mm_add_ps(xmm2, xmm3);
xmm3 = _mm_add_ps(xmm4, xmm5);
-
+
src0 += 4;
-
+
xmm9 = _mm_add_ps(xmm2, xmm9);
-
+
xmm1 = _mm_add_ps(xmm3, xmm1);
//xmm9 = _mm_add_ps(xmm12, xmm9);
}
-
+
xmm2 = _mm_hadd_ps(xmm9, xmm1);
xmm3 = _mm_hadd_ps(xmm2, xmm2);
xmm4 = _mm_hadd_ps(xmm3, xmm3);
_mm_store_ss(&result, xmm4);
-
-
+
+
for(i = 0; i < leftovers; ++i) {
fst = src0[i];
@@ -82,11 +82,11 @@ static inline void volk_32f_x3_sum_of_poly_32f_a_sse3(float* target, float* src0
thrd = fst * sq;
frth = sq * sq;
//fith = sq * thrd;
-
- result += (center_point_array[0] * fst +
- center_point_array[1] * sq +
- center_point_array[2] * thrd +
- center_point_array[3] * frth);// +
+
+ result += (center_point_array[0] * fst +
+ center_point_array[1] * sq +
+ center_point_array[2] * thrd +
+ center_point_array[3] * frth);// +
//center_point_array[4] * fith);
}
@@ -94,7 +94,7 @@ static inline void volk_32f_x3_sum_of_poly_32f_a_sse3(float* target, float* src0
target[0] = result;
}
-
+
#endif /*LV_HAVE_SSE3*/
@@ -103,45 +103,45 @@ static inline void volk_32f_x3_sum_of_poly_32f_a_sse3(float* target, float* src0
static inline void volk_32f_x3_sum_of_poly_32f_a_generic(float* target, float* src0, float* center_point_array, float* cutoff, unsigned int num_bytes) {
-
+
float result = 0.0;
float fst = 0.0;
float sq = 0.0;
float thrd = 0.0;
float frth = 0.0;
//float fith = 0.0;
-
- unsigned int i = 0;
-
+
+ unsigned int i = 0;
+
for(; i < num_bytes >> 2; ++i) {
fst = src0[i];
fst = MAX(fst, *cutoff);
-
+
sq = fst * fst;
thrd = fst * sq;
frth = sq * sq;
//fith = sq * thrd;
-
- result += (center_point_array[0] * fst +
- center_point_array[1] * sq +
- center_point_array[2] * thrd +
+
+ result += (center_point_array[0] * fst +
+ center_point_array[1] * sq +
+ center_point_array[2] * thrd +
center_point_array[3] * frth); //+
//center_point_array[4] * fith);
- /*printf("%f12...%d\n", (center_point_array[0] * fst +
- center_point_array[1] * sq +
- center_point_array[2] * thrd +
+ /*printf("%f12...%d\n", (center_point_array[0] * fst +
+ center_point_array[1] * sq +
+ center_point_array[2] * thrd +
center_point_array[3] * frth) +
- //center_point_array[4] * fith) +
+ //center_point_array[4] * fith) +
(center_point_array[4]), i);
*/
}
result += ((float)(num_bytes >> 2)) * (center_point_array[4]);//(center_point_array[5]);
-
-
+
+
*target = result;
}
diff --git a/volk/include/volk/volk_32fc_32f_multiply_32fc_a.h b/volk/include/volk/volk_32fc_32f_multiply_32fc_a.h
index b7350b9fa..28d584bf2 100644
--- a/volk/include/volk/volk_32fc_32f_multiply_32fc_a.h
+++ b/volk/include/volk/volk_32fc_32f_multiply_32fc_a.h
@@ -23,11 +23,11 @@ static inline void volk_32fc_32f_multiply_32fc_a_sse(lv_32fc_t* cVector, const l
__m128 aVal1, aVal2, bVal, bVal1, bVal2, cVal;
for(;number < quarterPoints; number++){
-
+
aVal1 = _mm_load_ps((const float*)aPtr);
aPtr += 2;
-
- aVal2 = _mm_load_ps((const float*)aPtr);
+
+ aVal2 = _mm_load_ps((const float*)aPtr);
aPtr += 2;
bVal = _mm_load_ps(bPtr);
@@ -36,13 +36,13 @@ static inline void volk_32fc_32f_multiply_32fc_a_sse(lv_32fc_t* cVector, const l
bVal1 = _mm_shuffle_ps(bVal, bVal, _MM_SHUFFLE(1,1,0,0));
bVal2 = _mm_shuffle_ps(bVal, bVal, _MM_SHUFFLE(3,3,2,2));
- cVal = _mm_mul_ps(aVal1, bVal1);
-
+ cVal = _mm_mul_ps(aVal1, bVal1);
+
_mm_store_ps((float*)cPtr,cVal); // Store the results back into the C container
cPtr += 2;
- cVal = _mm_mul_ps(aVal2, bVal2);
-
+ cVal = _mm_mul_ps(aVal2, bVal2);
+
_mm_store_ps((float*)cPtr,cVal); // Store the results back into the C container
cPtr += 2;
@@ -69,7 +69,7 @@ static inline void volk_32fc_32f_multiply_32fc_a_generic(lv_32fc_t* cVector, con
const lv_32fc_t* aPtr = aVector;
const float* bPtr= bVector;
unsigned int number = 0;
-
+
for(number = 0; number < num_points; number++){
*cPtr++ = (*aPtr++) * (*bPtr++);
}
diff --git a/volk/include/volk/volk_32fc_conjugate_32fc_a.h b/volk/include/volk/volk_32fc_conjugate_32fc_a.h
index 1518af9be..919280d51 100644
--- a/volk/include/volk/volk_32fc_conjugate_32fc_a.h
+++ b/volk/include/volk/volk_32fc_conjugate_32fc_a.h
@@ -25,11 +25,11 @@ static inline void volk_32fc_conjugate_32fc_a_sse3(lv_32fc_t* cVector, const lv_
__m128 conjugator = _mm_setr_ps(0, -0.f, 0, -0.f);
for(;number < halfPoints; number++){
-
+
x = _mm_load_ps((float*)a); // Load the complex data as ar,ai,br,bi
x = _mm_xor_ps(x, conjugator); // conjugate register
-
+
_mm_store_ps((float*)c,x); // Store the results back into the C container
a += 2;
diff --git a/volk/include/volk/volk_32fc_conjugate_32fc_u.h b/volk/include/volk/volk_32fc_conjugate_32fc_u.h
index b26fe0789..e0d79ea7b 100644
--- a/volk/include/volk/volk_32fc_conjugate_32fc_u.h
+++ b/volk/include/volk/volk_32fc_conjugate_32fc_u.h
@@ -21,13 +21,13 @@ static inline void volk_32fc_conjugate_32fc_u_sse3(lv_32fc_t* cVector, const lv_
__m128 x;
lv_32fc_t* c = cVector;
const lv_32fc_t* a = aVector;
-
+
__m128 conjugator = _mm_setr_ps(0, -0.f, 0, -0.f);
for(;number < halfPoints; number++){
-
+
x = _mm_loadu_ps((float*)a); // Load the complex data as ar,ai,br,bi
-
+
x = _mm_xor_ps(x, conjugator); // conjugate register
_mm_storeu_ps((float*)c,x); // Store the results back into the C container
diff --git a/volk/include/volk/volk_32fc_deinterleave_32f_x2_a.h b/volk/include/volk/volk_32fc_deinterleave_32f_x2_a.h
index 9de036ef4..4106f3851 100644
--- a/volk/include/volk/volk_32fc_deinterleave_32f_x2_a.h
+++ b/volk/include/volk/volk_32fc_deinterleave_32f_x2_a.h
@@ -19,10 +19,10 @@ static inline void volk_32fc_deinterleave_32f_x2_a_sse(float* iBuffer, float* qB
float* qBufferPtr = qBuffer;
unsigned int number = 0;
- const unsigned int quarterPoints = num_points / 4;
+ const unsigned int quarterPoints = num_points / 4;
__m128 cplxValue1, cplxValue2, iValue, qValue;
for(;number < quarterPoints; number++){
-
+
cplxValue1 = _mm_load_ps(complexVectorPtr);
complexVectorPtr += 4;
diff --git a/volk/include/volk/volk_32fc_deinterleave_64f_x2_a.h b/volk/include/volk/volk_32fc_deinterleave_64f_x2_a.h
index 29c369d9a..77566e671 100644
--- a/volk/include/volk/volk_32fc_deinterleave_64f_x2_a.h
+++ b/volk/include/volk/volk_32fc_deinterleave_64f_x2_a.h
@@ -20,23 +20,23 @@ static inline void volk_32fc_deinterleave_64f_x2_a_sse2(double* iBuffer, double*
double* iBufferPtr = iBuffer;
double* qBufferPtr = qBuffer;
- const unsigned int halfPoints = num_points / 2;
+ const unsigned int halfPoints = num_points / 2;
__m128 cplxValue, fVal;
__m128d dVal;
for(;number < halfPoints; number++){
-
+
cplxValue = _mm_load_ps(complexVectorPtr);
complexVectorPtr += 4;
// Arrange in i1i2i1i2 format
fVal = _mm_shuffle_ps(cplxValue, cplxValue, _MM_SHUFFLE(2,0,2,0));
- dVal = _mm_cvtps_pd(fVal);
+ dVal = _mm_cvtps_pd(fVal);
_mm_store_pd(iBufferPtr, dVal);
// Arrange in q1q2q1q2 format
fVal = _mm_shuffle_ps(cplxValue, cplxValue, _MM_SHUFFLE(3,1,3,1));
- dVal = _mm_cvtps_pd(fVal);
+ dVal = _mm_cvtps_pd(fVal);
_mm_store_pd(qBufferPtr, dVal);
iBufferPtr += 2;
diff --git a/volk/include/volk/volk_32fc_deinterleave_imag_32f_a.h b/volk/include/volk/volk_32fc_deinterleave_imag_32f_a.h
index adc4112b9..c88809beb 100644
--- a/volk/include/volk/volk_32fc_deinterleave_imag_32f_a.h
+++ b/volk/include/volk/volk_32fc_deinterleave_imag_32f_a.h
@@ -21,7 +21,7 @@ static inline void volk_32fc_deinterleave_imag_32f_a_sse(float* qBuffer, const l
__m128 cplxValue1, cplxValue2, iValue;
for(;number < quarterPoints; number++){
-
+
cplxValue1 = _mm_load_ps(complexVectorPtr);
complexVectorPtr += 4;
diff --git a/volk/include/volk/volk_32fc_deinterleave_real_32f_a.h b/volk/include/volk/volk_32fc_deinterleave_real_32f_a.h
index a1d0fd5d1..0d6c6b7af 100644
--- a/volk/include/volk/volk_32fc_deinterleave_real_32f_a.h
+++ b/volk/include/volk/volk_32fc_deinterleave_real_32f_a.h
@@ -21,7 +21,7 @@ static inline void volk_32fc_deinterleave_real_32f_a_sse(float* iBuffer, const l
__m128 cplxValue1, cplxValue2, iValue;
for(;number < quarterPoints; number++){
-
+
cplxValue1 = _mm_load_ps(complexVectorPtr);
complexVectorPtr += 4;
diff --git a/volk/include/volk/volk_32fc_deinterleave_real_64f_a.h b/volk/include/volk/volk_32fc_deinterleave_real_64f_a.h
index 70a3b1971..1e346baca 100644
--- a/volk/include/volk/volk_32fc_deinterleave_real_64f_a.h
+++ b/volk/include/volk/volk_32fc_deinterleave_real_64f_a.h
@@ -18,17 +18,17 @@ static inline void volk_32fc_deinterleave_real_64f_a_sse2(double* iBuffer, const
const float* complexVectorPtr = (float*)complexVector;
double* iBufferPtr = iBuffer;
- const unsigned int halfPoints = num_points / 2;
+ const unsigned int halfPoints = num_points / 2;
__m128 cplxValue, fVal;
__m128d dVal;
for(;number < halfPoints; number++){
-
+
cplxValue = _mm_load_ps(complexVectorPtr);
complexVectorPtr += 4;
// Arrange in i1i2i1i2 format
fVal = _mm_shuffle_ps(cplxValue, cplxValue, _MM_SHUFFLE(2,0,2,0));
- dVal = _mm_cvtps_pd(fVal);
+ dVal = _mm_cvtps_pd(fVal);
_mm_store_pd(iBufferPtr, dVal);
iBufferPtr += 2;
diff --git a/volk/include/volk/volk_32fc_index_max_16u_a.h b/volk/include/volk/volk_32fc_index_max_16u_a.h
index 125a34582..842a6a042 100644
--- a/volk/include/volk/volk_32fc_index_max_16u_a.h
+++ b/volk/include/volk/volk_32fc_index_max_16u_a.h
@@ -12,16 +12,16 @@
static inline void volk_32fc_index_max_16u_a_sse3(unsigned int* target, lv_32fc_t* src0, unsigned int num_bytes) {
-
-
-
+
+
+
union bit128 holderf;
union bit128 holderi;
float sq_dist = 0.0;
-
+
union bit128 xmm5, xmm4;
__m128 xmm1, xmm2, xmm3;
__m128i xmm8, xmm11, xmm12, xmmfive, xmmfour, xmm9, holder0, holder1, xmm10;
@@ -30,63 +30,63 @@ static inline void volk_32fc_index_max_16u_a_sse3(unsigned int* target, lv_32fc_
xmm4.int_vec = xmmfour = _mm_setzero_si128();
holderf.int_vec = holder0 = _mm_setzero_si128();
holderi.int_vec = holder1 = _mm_setzero_si128();
-
-
+
+
int bound = num_bytes >> 5;
int leftovers0 = (num_bytes >> 4) & 1;
int leftovers1 = (num_bytes >> 3) & 1;
int i = 0;
-
-
+
+
xmm8 = _mm_set_epi32(3, 2, 1, 0);//remember the crazy reverse order!
xmm9 = xmm8 = _mm_setzero_si128();
xmm10 = _mm_set_epi32(4, 4, 4, 4);
xmm3 = _mm_setzero_ps();
;
-
+
//printf("%f, %f, %f, %f\n", ((float*)&xmm10)[0], ((float*)&xmm10)[1], ((float*)&xmm10)[2], ((float*)&xmm10)[3]);
-
+
for(; i < bound; ++i) {
-
+
xmm1 = _mm_load_ps((float*)src0);
xmm2 = _mm_load_ps((float*)&src0[2]);
-
+
src0 += 4;
-
-
+
+
xmm1 = _mm_mul_ps(xmm1, xmm1);
xmm2 = _mm_mul_ps(xmm2, xmm2);
-
-
+
+
xmm1 = _mm_hadd_ps(xmm1, xmm2);
xmm3 = _mm_max_ps(xmm1, xmm3);
-
+
xmm4.float_vec = _mm_cmplt_ps(xmm1, xmm3);
xmm5.float_vec = _mm_cmpeq_ps(xmm1, xmm3);
-
-
-
+
+
+
xmm11 = _mm_and_si128(xmm8, xmm5.int_vec);
xmm12 = _mm_and_si128(xmm9, xmm4.int_vec);
-
+
xmm9 = _mm_add_epi32(xmm11, xmm12);
- xmm8 = _mm_add_epi32(xmm8, xmm10);
+ xmm8 = _mm_add_epi32(xmm8, xmm10);
+
-
//printf("%f, %f, %f, %f\n", ((float*)&xmm3)[0], ((float*)&xmm3)[1], ((float*)&xmm3)[2], ((float*)&xmm3)[3]);
//printf("%u, %u, %u, %u\n", ((uint32_t*)&xmm10)[0], ((uint32_t*)&xmm10)[1], ((uint32_t*)&xmm10)[2], ((uint32_t*)&xmm10)[3]);
}
-
-
+
+
for(i = 0; i < leftovers0; ++i) {
xmm2 = _mm_load_ps((float*)src0);
-
+
xmm1 = _mm_movelh_ps(bit128_p(&xmm8)->float_vec, bit128_p(&xmm8)->float_vec);
xmm8 = bit128_p(&xmm1)->int_vec;
@@ -99,63 +99,63 @@ static inline void volk_32fc_index_max_16u_a_sse3(unsigned int* target, lv_32fc_
xmm3 = _mm_max_ps(xmm1, xmm3);
xmm10 = _mm_set_epi32(2, 2, 2, 2);//load1_ps((float*)&init[2]);
-
-
+
+
xmm4.float_vec = _mm_cmplt_ps(xmm1, xmm3);
xmm5.float_vec = _mm_cmpeq_ps(xmm1, xmm3);
-
-
-
+
+
+
xmm11 = _mm_and_si128(xmm8, xmm5.int_vec);
xmm12 = _mm_and_si128(xmm9, xmm4.int_vec);
-
+
xmm9 = _mm_add_epi32(xmm11, xmm12);
- xmm8 = _mm_add_epi32(xmm8, xmm10);
+ xmm8 = _mm_add_epi32(xmm8, xmm10);
//printf("egads%u, %u, %u, %u\n", ((uint32_t*)&xmm9)[0], ((uint32_t*)&xmm9)[1], ((uint32_t*)&xmm9)[2], ((uint32_t*)&xmm9)[3]);
}
-
-
-
+
+
+
for(i = 0; i < leftovers1; ++i) {
//printf("%u, %u, %u, %u\n", ((uint32_t*)&xmm9)[0], ((uint32_t*)&xmm9)[1], ((uint32_t*)&xmm9)[2], ((uint32_t*)&xmm9)[3]);
-
+
sq_dist = lv_creal(src0[0]) * lv_creal(src0[0]) + lv_cimag(src0[0]) * lv_cimag(src0[0]);
-
+
xmm2 = _mm_load1_ps(&sq_dist);
xmm1 = xmm3;
-
+
xmm3 = _mm_max_ss(xmm3, xmm2);
-
-
+
+
xmm4.float_vec = _mm_cmplt_ps(xmm1, xmm3);
xmm5.float_vec = _mm_cmpeq_ps(xmm1, xmm3);
-
-
- xmm8 = _mm_shuffle_epi32(xmm8, 0x00);
-
+
+
+ xmm8 = _mm_shuffle_epi32(xmm8, 0x00);
+
xmm11 = _mm_and_si128(xmm8, xmm4.int_vec);
xmm12 = _mm_and_si128(xmm9, xmm5.int_vec);
-
+
xmm9 = _mm_add_epi32(xmm11, xmm12);
}
-
+
//printf("%f, %f, %f, %f\n", ((float*)&xmm3)[0], ((float*)&xmm3)[1], ((float*)&xmm3)[2], ((float*)&xmm3)[3]);
//printf("%u, %u, %u, %u\n", ((uint32_t*)&xmm9)[0], ((uint32_t*)&xmm9)[1], ((uint32_t*)&xmm9)[2], ((uint32_t*)&xmm9)[3]);
_mm_store_ps((float*)&(holderf.f), xmm3);
_mm_store_si128(&(holderi.int_vec), xmm9);
-
+
target[0] = holderi.i[0];
- sq_dist = holderf.f[0];
+ sq_dist = holderf.f[0];
target[0] = (holderf.f[1] > sq_dist) ? holderi.i[1] : target[0];
sq_dist = (holderf.f[1] > sq_dist) ? holderf.f[1] : sq_dist;
target[0] = (holderf.f[2] > sq_dist) ? holderi.i[2] : target[0];
@@ -163,27 +163,27 @@ static inline void volk_32fc_index_max_16u_a_sse3(unsigned int* target, lv_32fc_
target[0] = (holderf.f[3] > sq_dist) ? holderi.i[3] : target[0];
sq_dist = (holderf.f[3] > sq_dist) ? holderf.f[3] : sq_dist;
-
-
+
+
/*
float placeholder = 0.0;
- uint32_t temp0, temp1;
+ uint32_t temp0, temp1;
unsigned int g0 = (((float*)&xmm3)[0] > ((float*)&xmm3)[1]);
unsigned int l0 = g0 ^ 1;
unsigned int g1 = (((float*)&xmm3)[1] > ((float*)&xmm3)[2]);
unsigned int l1 = g1 ^ 1;
-
+
temp0 = g0 * ((uint32_t*)&xmm9)[0] + l0 * ((uint32_t*)&xmm9)[1];
temp1 = g0 * ((uint32_t*)&xmm9)[2] + l0 * ((uint32_t*)&xmm9)[3];
- sq_dist = g0 * ((float*)&xmm3)[0] + l0 * ((float*)&xmm3)[1];
+ sq_dist = g0 * ((float*)&xmm3)[0] + l0 * ((float*)&xmm3)[1];
placeholder = g0 * ((float*)&xmm3)[2] + l0 * ((float*)&xmm3)[3];
-
+
g0 = (sq_dist > placeholder);
l0 = g0 ^ 1;
target[0] = g0 * temp0 + l0 * temp1;
*/
-
+
}
#endif /*LV_HAVE_SSE3*/
@@ -193,20 +193,20 @@ static inline void volk_32fc_index_max_16u_a_generic(unsigned int* target, lv_32
float sq_dist = 0.0;
float max = 0.0;
unsigned int index = 0;
-
- unsigned int i = 0;
-
+
+ unsigned int i = 0;
+
for(; i < num_bytes >> 3; ++i) {
sq_dist = lv_creal(src0[i]) * lv_creal(src0[i]) + lv_cimag(src0[i]) * lv_cimag(src0[i]);
-
+
index = sq_dist > max ? i : index;
max = sq_dist > max ? sq_dist : max;
-
-
+
+
}
target[0] = index;
-
+
}
#endif /*LV_HAVE_GENERIC*/
diff --git a/volk/include/volk/volk_32fc_magnitude_32f_a.h b/volk/include/volk/volk_32fc_magnitude_32f_a.h
index f18e9bc0b..efb84a904 100644
--- a/volk/include/volk/volk_32fc_magnitude_32f_a.h
+++ b/volk/include/volk/volk_32fc_magnitude_32f_a.h
@@ -59,7 +59,7 @@ static inline void volk_32fc_magnitude_32f_a_sse3(float* magnitudeVector, const
static inline void volk_32fc_magnitude_32f_a_sse(float* magnitudeVector, const lv_32fc_t* complexVector, unsigned int num_points){
unsigned int number = 0;
const unsigned int quarterPoints = num_points / 4;
-
+
const float* complexVectorPtr = (float*)complexVector;
float* magnitudeVectorPtr = magnitudeVector;
diff --git a/volk/include/volk/volk_32fc_magnitude_32f_u.h b/volk/include/volk/volk_32fc_magnitude_32f_u.h
index ed1cedef9..c8b3f0a08 100644
--- a/volk/include/volk/volk_32fc_magnitude_32f_u.h
+++ b/volk/include/volk/volk_32fc_magnitude_32f_u.h
@@ -59,7 +59,7 @@ static inline void volk_32fc_magnitude_32f_u_sse3(float* magnitudeVector, const
static inline void volk_32fc_magnitude_32f_u_sse(float* magnitudeVector, const lv_32fc_t* complexVector, unsigned int num_points){
unsigned int number = 0;
const unsigned int quarterPoints = num_points / 4;
-
+
const float* complexVectorPtr = (float*)complexVector;
float* magnitudeVectorPtr = magnitudeVector;
diff --git a/volk/include/volk/volk_32fc_magnitude_squared_32f_a.h b/volk/include/volk/volk_32fc_magnitude_squared_32f_a.h
index 00bdefbb5..d3ac9717a 100644
--- a/volk/include/volk/volk_32fc_magnitude_squared_32f_a.h
+++ b/volk/include/volk/volk_32fc_magnitude_squared_32f_a.h
@@ -57,7 +57,7 @@ static inline void volk_32fc_magnitude_squared_32f_a_sse3(float* magnitudeVector
static inline void volk_32fc_magnitude_squared_32f_a_sse(float* magnitudeVector, const lv_32fc_t* complexVector, unsigned int num_points){
unsigned int number = 0;
const unsigned int quarterPoints = num_points / 4;
-
+
const float* complexVectorPtr = (float*)complexVector;
float* magnitudeVectorPtr = magnitudeVector;
diff --git a/volk/include/volk/volk_32fc_magnitude_squared_32f_u.h b/volk/include/volk/volk_32fc_magnitude_squared_32f_u.h
index 6eb4a523a..53a4e68eb 100644
--- a/volk/include/volk/volk_32fc_magnitude_squared_32f_u.h
+++ b/volk/include/volk/volk_32fc_magnitude_squared_32f_u.h
@@ -57,7 +57,7 @@ static inline void volk_32fc_magnitude_squared_32f_u_sse3(float* magnitudeVector
static inline void volk_32fc_magnitude_squared_32f_u_sse(float* magnitudeVector, const lv_32fc_t* complexVector, unsigned int num_points){
unsigned int number = 0;
const unsigned int quarterPoints = num_points / 4;
-
+
const float* complexVectorPtr = (float*)complexVector;
float* magnitudeVectorPtr = magnitudeVector;
diff --git a/volk/include/volk/volk_32fc_s32f_atan2_32f_a.h b/volk/include/volk/volk_32fc_s32f_atan2_32f_a.h
index 7bd001aa0..d86bd63c1 100644
--- a/volk/include/volk/volk_32fc_s32f_atan2_32f_a.h
+++ b/volk/include/volk/volk_32fc_s32f_atan2_32f_a.h
@@ -27,14 +27,14 @@ static inline void volk_32fc_s32f_atan2_32f_a_sse4_1(float* outputVector, const
const float invNormalizeFactor = 1.0 / normalizeFactor;
#ifdef LV_HAVE_LIB_SIMDMATH
- const unsigned int quarterPoints = num_points / 4;
+ const unsigned int quarterPoints = num_points / 4;
__m128 testVector = _mm_set_ps1(2*M_PI);
__m128 correctVector = _mm_set_ps1(M_PI);
__m128 vNormalizeFactor = _mm_set_ps1(invNormalizeFactor);
__m128 phase;
__m128 complex1, complex2, iValue, qValue;
__m128 keepMask;
-
+
for (; number < quarterPoints; number++) {
// Load IQ data:
complex1 = _mm_load_ps(complexVectorPtr);
@@ -42,15 +42,15 @@ static inline void volk_32fc_s32f_atan2_32f_a_sse4_1(float* outputVector, const
complex2 = _mm_load_ps(complexVectorPtr);
complexVectorPtr += 4;
// Deinterleave IQ data:
- iValue = _mm_shuffle_ps(complex1, complex2, _MM_SHUFFLE(2,0,2,0));
- qValue = _mm_shuffle_ps(complex1, complex2, _MM_SHUFFLE(3,1,3,1));
+ iValue = _mm_shuffle_ps(complex1, complex2, _MM_SHUFFLE(2,0,2,0));
+ qValue = _mm_shuffle_ps(complex1, complex2, _MM_SHUFFLE(3,1,3,1));
// Arctan to get phase:
phase = atan2f4(qValue, iValue);
// When Q = 0 and I < 0, atan2f4 sucks and returns 2pi vice pi.
// Compare to 2pi:
keepMask = _mm_cmpneq_ps(phase,testVector);
phase = _mm_blendv_ps(correctVector, phase, keepMask);
- // done with above correction.
+ // done with above correction.
phase = _mm_mul_ps(phase, vNormalizeFactor);
_mm_store_ps((float*)outPtr, phase);
outPtr += 4;
@@ -89,7 +89,7 @@ static inline void volk_32fc_s32f_atan2_32f_a_sse(float* outputVector, const lv
const float invNormalizeFactor = 1.0 / normalizeFactor;
#ifdef LV_HAVE_LIB_SIMDMATH
- const unsigned int quarterPoints = num_points / 4;
+ const unsigned int quarterPoints = num_points / 4;
__m128 testVector = _mm_set_ps1(2*M_PI);
__m128 correctVector = _mm_set_ps1(M_PI);
__m128 vNormalizeFactor = _mm_set_ps1(invNormalizeFactor);
@@ -97,7 +97,7 @@ static inline void volk_32fc_s32f_atan2_32f_a_sse(float* outputVector, const lv
__m128 complex1, complex2, iValue, qValue;
__m128 mask;
__m128 keepMask;
-
+
for (; number < quarterPoints; number++) {
// Load IQ data:
complex1 = _mm_load_ps(complexVectorPtr);
@@ -105,8 +105,8 @@ static inline void volk_32fc_s32f_atan2_32f_a_sse(float* outputVector, const lv
complex2 = _mm_load_ps(complexVectorPtr);
complexVectorPtr += 4;
// Deinterleave IQ data:
- iValue = _mm_shuffle_ps(complex1, complex2, _MM_SHUFFLE(2,0,2,0));
- qValue = _mm_shuffle_ps(complex1, complex2, _MM_SHUFFLE(3,1,3,1));
+ iValue = _mm_shuffle_ps(complex1, complex2, _MM_SHUFFLE(2,0,2,0));
+ qValue = _mm_shuffle_ps(complex1, complex2, _MM_SHUFFLE(3,1,3,1));
// Arctan to get phase:
phase = atan2f4(qValue, iValue);
// When Q = 0 and I < 0, atan2f4 sucks and returns 2pi vice pi.
@@ -115,7 +115,7 @@ static inline void volk_32fc_s32f_atan2_32f_a_sse(float* outputVector, const lv
phase = _mm_and_ps(phase, keepMask);
mask = _mm_andnot_ps(keepMask, correctVector);
phase = _mm_or_ps(phase, mask);
- // done with above correction.
+ // done with above correction.
phase = _mm_mul_ps(phase, vNormalizeFactor);
_mm_store_ps((float*)outPtr, phase);
outPtr += 4;
diff --git a/volk/include/volk/volk_32fc_s32f_power_32fc_a.h b/volk/include/volk/volk_32fc_s32f_power_32fc_a.h
index 588b532b4..3106edbef 100644
--- a/volk/include/volk/volk_32fc_s32f_power_32fc_a.h
+++ b/volk/include/volk/volk_32fc_s32f_power_32fc_a.h
@@ -28,55 +28,55 @@ static inline lv_32fc_t __volk_s32fc_s32f_power_s32fc_a(const lv_32fc_t exp, con
*/
static inline void volk_32fc_s32f_power_32fc_a_sse(lv_32fc_t* cVector, const lv_32fc_t* aVector, const float power, unsigned int num_points){
unsigned int number = 0;
-
+
lv_32fc_t* cPtr = cVector;
const lv_32fc_t* aPtr = aVector;
#ifdef LV_HAVE_LIB_SIMDMATH
const unsigned int quarterPoints = num_points / 4;
__m128 vPower = _mm_set_ps1(power);
-
+
__m128 cplxValue1, cplxValue2, magnitude, phase, iValue, qValue;
for(;number < quarterPoints; number++){
-
- cplxValue1 = _mm_load_ps((float*)aPtr);
+
+ cplxValue1 = _mm_load_ps((float*)aPtr);
aPtr += 2;
-
- cplxValue2 = _mm_load_ps((float*)aPtr);
+
+ cplxValue2 = _mm_load_ps((float*)aPtr);
aPtr += 2;
-
+
// Convert to polar coordinates
-
+
// Arrange in i1i2i3i4 format
iValue = _mm_shuffle_ps(cplxValue1, cplxValue2, _MM_SHUFFLE(2,0,2,0));
// Arrange in q1q2q3q4 format
qValue = _mm_shuffle_ps(cplxValue1, cplxValue2, _MM_SHUFFLE(3,1,3,1));
-
+
phase = atan2f4(qValue, iValue); // Calculate the Phase
-
+
magnitude = _mm_sqrt_ps(_mm_add_ps(_mm_mul_ps(iValue, iValue), _mm_mul_ps(qValue, qValue))); // Calculate the magnitude by square rooting the added I2 and Q2 values
-
+
// Now calculate the power of the polar coordinate data
magnitude = powf4(magnitude, vPower); // Take the magnitude to the specified power
-
+
phase = _mm_mul_ps(phase, vPower); // Multiply the phase by the specified power
-
+
// Convert back to cartesian coordinates
iValue = _mm_mul_ps( cosf4(phase), magnitude); // Multiply the cos of the phase by the magnitude
qValue = _mm_mul_ps( sinf4(phase), magnitude); // Multiply the sin of the phase by the magnitude
-
+
cplxValue1 = _mm_unpacklo_ps(iValue, qValue); // Interleave the lower two i & q values
cplxValue2 = _mm_unpackhi_ps(iValue, qValue); // Interleave the upper two i & q values
-
+
_mm_store_ps((float*)cPtr,cplxValue1); // Store the results back into the C container
-
+
cPtr += 2;
-
+
_mm_store_ps((float*)cPtr,cplxValue2); // Store the results back into the C container
-
+
cPtr += 2;
}
-
+
number = quarterPoints * 4;
#endif /* LV_HAVE_LIB_SIMDMATH */
diff --git a/volk/include/volk/volk_32fc_s32f_power_spectrum_32f_a.h b/volk/include/volk/volk_32fc_s32f_power_spectrum_32f_a.h
index 8d1959dae..30a77dbc1 100644
--- a/volk/include/volk/volk_32fc_s32f_power_spectrum_32f_a.h
+++ b/volk/include/volk/volk_32fc_s32f_power_spectrum_32f_a.h
@@ -34,7 +34,7 @@ static inline void volk_32fc_s32f_power_spectrum_32f_a_sse3(float* logPowerOutpu
__m128 input1, input2;
const uint64_t quarterPoints = num_points / 4;
for(;number < quarterPoints; number++){
- // Load the complex values
+ // Load the complex values
input1 =_mm_load_ps(inputPtr);
inputPtr += 4;
input2 =_mm_load_ps(inputPtr);
@@ -43,30 +43,30 @@ static inline void volk_32fc_s32f_power_spectrum_32f_a_sse3(float* logPowerOutpu
// Apply the normalization factor
input1 = _mm_mul_ps(input1, invNormalizationFactor);
input2 = _mm_mul_ps(input2, invNormalizationFactor);
-
+
// Multiply each value by itself
// (r1*r1), (i1*i1), (r2*r2), (i2*i2)
input1 = _mm_mul_ps(input1, input1);
// (r3*r3), (i3*i3), (r4*r4), (i4*i4)
input2 = _mm_mul_ps(input2, input2);
-
+
// Horizontal add, to add (r*r) + (i*i) for each complex value
// (r1*r1)+(i1*i1), (r2*r2) + (i2*i2), (r3*r3)+(i3*i3), (r4*r4)+(i4*i4)
power = _mm_hadd_ps(input1, input2);
-
+
// Calculate the natural log power
power = logf4(power);
-
+
// Convert to log10 and multiply by 10.0
power = _mm_mul_ps(power, magScalar);
-
+
// Store the floating point results
_mm_store_ps(destPtr, power);
-
+
destPtr += 4;
}
-
- number = quarterPoints*4;
+
+ number = quarterPoints*4;
#endif /* LV_HAVE_LIB_SIMDMATH */
// Calculate the FFT for any remaining points
@@ -81,10 +81,10 @@ static inline void volk_32fc_s32f_power_spectrum_32f_a_sse3(float* logPowerOutpu
const float imag = *inputPtr++ * iNormalizationFactor;
*destPtr = 10.0*log10f(((real * real) + (imag * imag)) + 1e-20);
-
+
destPtr++;
}
-
+
}
#endif /* LV_HAVE_SSE3 */
@@ -114,7 +114,7 @@ static inline void volk_32fc_s32f_power_spectrum_32f_a_generic(float* logPowerOu
*realFFTDataPointsPtr = 10.0*log10f(((real * real) + (imag * imag)) + 1e-20);
-
+
realFFTDataPointsPtr++;
}
}
diff --git a/volk/include/volk/volk_32fc_s32f_x2_power_spectral_density_32f_a.h b/volk/include/volk/volk_32fc_s32f_x2_power_spectral_density_32f_a.h
index fc635f171..27f755351 100644
--- a/volk/include/volk/volk_32fc_s32f_x2_power_spectral_density_32f_a.h
+++ b/volk/include/volk/volk_32fc_s32f_x2_power_spectral_density_32f_a.h
@@ -32,19 +32,19 @@ static inline void volk_32fc_s32f_x2_power_spectral_density_32f_a_sse3(float* lo
magScalar = _mm_div_ps(magScalar, logf4(magScalar));
__m128 invRBW = _mm_set_ps1(iRBW);
-
+
__m128 invNormalizationFactor = _mm_set_ps1(iNormalizationFactor);
__m128 power;
__m128 input1, input2;
const uint64_t quarterPoints = num_points / 4;
for(;number < quarterPoints; number++){
- // Load the complex values
+ // Load the complex values
input1 =_mm_load_ps(inputPtr);
inputPtr += 4;
input2 =_mm_load_ps(inputPtr);
inputPtr += 4;
-
+
// Apply the normalization factor
input1 = _mm_mul_ps(input1, invNormalizationFactor);
input2 = _mm_mul_ps(input2, invNormalizationFactor);
@@ -54,7 +54,7 @@ static inline void volk_32fc_s32f_x2_power_spectral_density_32f_a_sse3(float* lo
input1 = _mm_mul_ps(input1, input1);
// (r3*r3), (i3*i3), (r4*r4), (i4*i4)
input2 = _mm_mul_ps(input2, input2);
-
+
// Horizontal add, to add (r*r) + (i*i) for each complex value
// (r1*r1)+(i1*i1), (r2*r2) + (i2*i2), (r3*r3)+(i3*i3), (r4*r4)+(i4*i4)
power = _mm_hadd_ps(input1, input2);
@@ -64,17 +64,17 @@ static inline void volk_32fc_s32f_x2_power_spectral_density_32f_a_sse3(float* lo
// Calculate the natural log power
power = logf4(power);
-
+
// Convert to log10 and multiply by 10.0
power = _mm_mul_ps(power, magScalar);
-
+
// Store the floating point results
_mm_store_ps(destPtr, power);
-
+
destPtr += 4;
}
-
- number = quarterPoints*4;
+
+ number = quarterPoints*4;
#endif /* LV_HAVE_LIB_SIMDMATH */
// Calculate the FFT for any remaining points
for(; number < num_points; number++){
@@ -83,14 +83,14 @@ static inline void volk_32fc_s32f_x2_power_spectral_density_32f_a_sse3(float* lo
// 10 * log10 (v^2 / (2 * 50.0 * .001)) = 10 * log10( v^2 * 10)
// 75 ohm load assumption
// 10 * log10 (v^2 / (2 * 75.0 * .001)) = 10 * log10( v^2 * 15)
-
+
const float real = *inputPtr++ * iNormalizationFactor;
const float imag = *inputPtr++ * iNormalizationFactor;
*destPtr = 10.0*log10f((((real * real) + (imag * imag)) + 1e-20) * iRBW);
destPtr++;
}
-
+
}
#endif /* LV_HAVE_SSE3 */
@@ -122,7 +122,7 @@ static inline void volk_32fc_s32f_x2_power_spectral_density_32f_a_generic(float*
const float imag = *inputPtr++ * iNormalizationFactor;
*realFFTDataPointsPtr = 10.0*log10f((((real * real) + (imag * imag)) + 1e-20) * invRBW);
-
+
realFFTDataPointsPtr++;
}
}
diff --git a/volk/include/volk/volk_32fc_s32fc_multiply_32fc_a.h b/volk/include/volk/volk_32fc_s32fc_multiply_32fc_a.h
index 534dc2a25..f206c5e87 100644
--- a/volk/include/volk/volk_32fc_s32fc_multiply_32fc_a.h
+++ b/volk/include/volk/volk_32fc_s32fc_multiply_32fc_a.h
@@ -28,17 +28,17 @@ static inline void volk_32fc_s32fc_multiply_32fc_a_sse3(lv_32fc_t* cVector, cons
yh = _mm_set_ps1(lv_cimag(scalar));
for(;number < halfPoints; number++){
-
+
x = _mm_load_ps((float*)a); // Load the ar + ai, br + bi as ar,ai,br,bi
-
+
tmp1 = _mm_mul_ps(x,yl); // tmp1 = ar*cr,ai*cr,br*dr,bi*dr
-
+
x = _mm_shuffle_ps(x,x,0xB1); // Re-arrange x to be ai,ar,bi,br
-
+
tmp2 = _mm_mul_ps(x,yh); // tmp2 = ai*ci,ar*ci,bi*di,br*di
-
+
z = _mm_addsub_ps(tmp1,tmp2); // ar*cr-ai*ci, ai*cr+ar*ci, br*dr-bi*di, bi*dr+br*di
-
+
_mm_store_ps((float*)c,z); // Store the results back into the C container
a += 2;
diff --git a/volk/include/volk/volk_32fc_s32fc_multiply_32fc_u.h b/volk/include/volk/volk_32fc_s32fc_multiply_32fc_u.h
index 218c450f8..5c7d15b02 100644
--- a/volk/include/volk/volk_32fc_s32fc_multiply_32fc_u.h
+++ b/volk/include/volk/volk_32fc_s32fc_multiply_32fc_u.h
@@ -28,17 +28,17 @@ static inline void volk_32fc_s32fc_multiply_32fc_u_sse3(lv_32fc_t* cVector, cons
yh = _mm_set_ps1(lv_cimag(scalar));
for(;number < halfPoints; number++){
-
+
x = _mm_loadu_ps((float*)a); // Load the ar + ai, br + bi as ar,ai,br,bi
-
+
tmp1 = _mm_mul_ps(x,yl); // tmp1 = ar*cr,ai*cr,br*dr,bi*dr
-
+
x = _mm_shuffle_ps(x,x,0xB1); // Re-arrange x to be ai,ar,bi,br
-
+
tmp2 = _mm_mul_ps(x,yh); // tmp2 = ai*ci,ar*ci,bi*di,br*di
-
+
z = _mm_addsub_ps(tmp1,tmp2); // ar*cr-ai*ci, ai*cr+ar*ci, br*dr-bi*di, bi*dr+br*di
-
+
_mm_storeu_ps((float*)c,z); // Store the results back into the C container
a += 2;
diff --git a/volk/include/volk/volk_32fc_x2_conjugate_dot_prod_32fc_a.h b/volk/include/volk/volk_32fc_x2_conjugate_dot_prod_32fc_a.h
index 655075528..e3dedf2fc 100644
--- a/volk/include/volk/volk_32fc_x2_conjugate_dot_prod_32fc_a.h
+++ b/volk/include/volk/volk_32fc_x2_conjugate_dot_prod_32fc_a.h
@@ -10,40 +10,40 @@
static inline void volk_32fc_x2_conjugate_dot_prod_32fc_a_generic(lv_32fc_t* result, const lv_32fc_t* input, const lv_32fc_t* taps, unsigned int num_bytes) {
-
+
float * res = (float*) result;
float * in = (float*) input;
float * tp = (float*) taps;
unsigned int n_2_ccomplex_blocks = num_bytes >> 4;
unsigned int isodd = (num_bytes >> 3) &1;
-
-
-
+
+
+
float sum0[2] = {0,0};
float sum1[2] = {0,0};
unsigned int i = 0;
-
+
for(i = 0; i < n_2_ccomplex_blocks; ++i) {
-
+
sum0[0] += in[0] * tp[0] + in[1] * tp[1];
sum0[1] += (-in[0] * tp[1]) + in[1] * tp[0];
sum1[0] += in[2] * tp[2] + in[3] * tp[3];
sum1[1] += (-in[2] * tp[3]) + in[3] * tp[2];
-
-
+
+
in += 4;
tp += 4;
}
-
-
+
+
res[0] = sum0[0] + sum1[0];
res[1] = sum0[1] + sum1[1];
-
-
-
+
+
+
for(i = 0; i < isodd; ++i) {
@@ -64,13 +64,13 @@ static inline void volk_32fc_x2_conjugate_dot_prod_32fc_a_generic(lv_32fc_t* res
static inline void volk_32fc_x2_conjugate_dot_prod_32fc_a_sse(lv_32fc_t* result, const lv_32fc_t* input, const lv_32fc_t* taps, unsigned int num_bytes) {
-
+
__VOLK_ATTR_ALIGNED(16) static const uint32_t conjugator[4]= {0x00000000, 0x80000000, 0x00000000, 0x80000000};
-
- asm volatile
+
+ asm volatile
(
"# ccomplex_conjugate_dotprod_generic (float* result, const float *input,\n\t"
"# const float *taps, unsigned num_bytes)\n\t"
@@ -187,32 +187,32 @@ static inline void volk_32fc_x2_conjugate_dot_prod_32fc_a_sse(lv_32fc_t* result,
:[rsi] "r" (input), [rdx] "r" (taps), "c" (num_bytes), [rdi] "r" (result), [conjugator] "r" (conjugator)
:"rax", "r8", "r9", "r10"
);
-
-
+
+
int getem = num_bytes % 16;
-
-
+
+
for(; getem > 0; getem -= 8) {
-
-
+
+
*result += (input[(num_bytes >> 3) - 1] * lv_conj(taps[(num_bytes >> 3) - 1]));
-
+
}
return;
-}
+}
#endif
#if LV_HAVE_SSE && LV_HAVE_32
static inline void volk_32fc_x2_conjugate_dot_prod_32fc_a_sse_32(lv_32fc_t* result, const lv_32fc_t* input, const lv_32fc_t* taps, unsigned int num_bytes) {
-
+
__VOLK_ATTR_ALIGNED(16) static const uint32_t conjugator[4]= {0x00000000, 0x80000000, 0x00000000, 0x80000000};
int bound = num_bytes >> 4;
int leftovers = num_bytes % 16;
-
- asm volatile
+
+ asm volatile
(
" #pushl %%ebp\n\t"
" #movl %%esp, %%ebp\n\t"
@@ -226,7 +226,7 @@ static inline void volk_32fc_x2_conjugate_dot_prod_32fc_a_sse_32(lv_32fc_t* resu
" movaps 0(%[edx]), %%xmm2\n\t"
" movl %[ecx], (%[out])\n\t"
" shrl $5, %[ecx] # ecx = n_2_ccomplex_blocks / 2\n\t"
-
+
" xorps %%xmm1, %%xmm2\n\t"
" jmp .%=L1_test\n\t"
" # 4 taps / loop\n\t"
@@ -317,28 +317,28 @@ static inline void volk_32fc_x2_conjugate_dot_prod_32fc_a_sse_32(lv_32fc_t* resu
: [eax] "r" (input), [edx] "r" (taps), [ecx] "r" (num_bytes), [out] "r" (result), [conjugator] "r" (conjugator)
);
-
-
-
+
+
+
printf("%d, %d\n", leftovers, bound);
-
+
for(; leftovers > 0; leftovers -= 8) {
-
-
+
+
*result += (input[(bound << 1)] * lv_conj(taps[(bound << 1)]));
-
+
}
-
+
return;
-
-
-
-
-
+
+
+
+
+
}
-#endif /*LV_HAVE_SSE*/
+#endif /*LV_HAVE_SSE*/
diff --git a/volk/include/volk/volk_32fc_x2_conjugate_dot_prod_32fc_u.h b/volk/include/volk/volk_32fc_x2_conjugate_dot_prod_32fc_u.h
index 3ae7208a8..e7493413f 100644
--- a/volk/include/volk/volk_32fc_x2_conjugate_dot_prod_32fc_u.h
+++ b/volk/include/volk/volk_32fc_x2_conjugate_dot_prod_32fc_u.h
@@ -9,39 +9,39 @@
static inline void volk_32fc_x2_conjugate_dot_prod_32fc_u_generic(lv_32fc_t* result, const lv_32fc_t* input, const lv_32fc_t* taps, unsigned int num_bytes) {
-
+
float * res = (float*) result;
float * in = (float*) input;
float * tp = (float*) taps;
unsigned int n_2_ccomplex_blocks = num_bytes >> 4;
unsigned int isodd = (num_bytes >> 3) &1;
-
-
-
+
+
+
float sum0[2] = {0,0};
float sum1[2] = {0,0};
unsigned int i = 0;
-
+
for(i = 0; i < n_2_ccomplex_blocks; ++i) {
-
+
sum0[0] += in[0] * tp[0] + in[1] * tp[1];
sum0[1] += (-in[0] * tp[1]) + in[1] * tp[0];
sum1[0] += in[2] * tp[2] + in[3] * tp[3];
sum1[1] += (-in[2] * tp[3]) + in[3] * tp[2];
-
-
+
+
in += 4;
tp += 4;
}
-
-
+
+
res[0] = sum0[0] + sum1[0];
res[1] = sum0[1] + sum1[1];
-
-
-
+
+
+
for(i = 0; i < isodd; ++i) {
@@ -73,7 +73,7 @@ static inline void volk_32fc_x2_conjugate_dot_prod_32fc_u_sse3(lv_32fc_t* result
uint32_t intRep[4];
__m128 vec;
} halfMask;
-
+
union NegMask {
int intRep[4];
__m128 vec;
@@ -85,13 +85,13 @@ static inline void volk_32fc_x2_conjugate_dot_prod_32fc_u_sse3(lv_32fc_t* result
__m128 in1, in2, Rv, fehg, Iv, Rs, Ivm, Is;
__m128 zv = {0,0,0,0};
-
+
halfMask.intRep[0] = halfMask.intRep[1] = 0xFFFFFFFF;
halfMask.intRep[2] = halfMask.intRep[3] = 0x00000000;
negMask.intRep[0] = negMask.intRep[2] = 0x80000000;
negMask.intRep[1] = negMask.intRep[3] = 0;
-
+
// main loop
while(num_bytes >= 4*sizeof(float)){
diff --git a/volk/include/volk/volk_32fc_x2_dot_prod_32fc_a.h b/volk/include/volk/volk_32fc_x2_dot_prod_32fc_a.h
index cde9240cc..cb2ac4c67 100644
--- a/volk/include/volk/volk_32fc_x2_dot_prod_32fc_a.h
+++ b/volk/include/volk/volk_32fc_x2_dot_prod_32fc_a.h
@@ -7,44 +7,44 @@
#include <string.h>
-#ifdef LV_HAVE_GENERIC
+#ifdef LV_HAVE_GENERIC
static inline void volk_32fc_x2_dot_prod_32fc_a_generic(lv_32fc_t* result, const lv_32fc_t* input, const lv_32fc_t* taps, unsigned int num_bytes) {
-
+
float * res = (float*) result;
float * in = (float*) input;
float * tp = (float*) taps;
unsigned int n_2_ccomplex_blocks = num_bytes >> 4;
unsigned int isodd = (num_bytes >> 3) &1;
-
-
-
+
+
+
float sum0[2] = {0,0};
float sum1[2] = {0,0};
unsigned int i = 0;
-
+
for(i = 0; i < n_2_ccomplex_blocks; ++i) {
-
+
sum0[0] += in[0] * tp[0] - in[1] * tp[1];
sum0[1] += in[0] * tp[1] + in[1] * tp[0];
sum1[0] += in[2] * tp[2] - in[3] * tp[3];
sum1[1] += in[2] * tp[3] + in[3] * tp[2];
-
-
+
+
in += 4;
tp += 4;
}
-
+
res[0] = sum0[0] + sum1[0];
res[1] = sum0[1] + sum1[1];
-
-
-
+
+
+
for(i = 0; i < isodd; ++i) {
@@ -61,9 +61,9 @@ static inline void volk_32fc_x2_dot_prod_32fc_a_generic(lv_32fc_t* result, const
static inline void volk_32fc_x2_dot_prod_32fc_a_sse_64(lv_32fc_t* result, const lv_32fc_t* input, const lv_32fc_t* taps, unsigned int num_bytes) {
-
- asm
+
+ asm
(
"# ccomplex_dotprod_generic (float* result, const float *input,\n\t"
"# const float *taps, unsigned num_bytes)\n\t"
@@ -175,20 +175,20 @@ static inline void volk_32fc_x2_dot_prod_32fc_a_sse_64(lv_32fc_t* result, const
:[rsi] "r" (input), [rdx] "r" (taps), "c" (num_bytes), [rdi] "r" (result)
:"rax", "r8", "r9", "r10"
);
-
-
+
+
int getem = num_bytes % 16;
-
-
+
+
for(; getem > 0; getem -= 8) {
-
-
+
+
*result += (input[(num_bytes >> 3) - 1] * taps[(num_bytes >> 3) - 1]);
-
+
}
return;
-
+
}
#endif
@@ -200,7 +200,7 @@ static inline void volk_32fc_x2_dot_prod_32fc_a_sse_32(lv_32fc_t* result, const
volk_32fc_x2_dot_prod_32fc_a_generic(result, input, taps, num_bytes);
#if 0
- asm volatile
+ asm volatile
(
" #pushl %%ebp\n\t"
" #movl %%esp, %%ebp\n\t"
@@ -299,28 +299,28 @@ static inline void volk_32fc_x2_dot_prod_32fc_a_sse_32(lv_32fc_t* result, const
: "eax", "ecx", "edx"
);
-
+
int getem = num_bytes % 16;
-
+
for(; getem > 0; getem -= 8) {
-
-
+
+
*result += (input[(num_bytes >> 3) - 1] * taps[(num_bytes >> 3) - 1]);
-
+
}
-
+
return;
-#endif
+#endif
}
-#endif /*LV_HAVE_SSE*/
+#endif /*LV_HAVE_SSE*/
#ifdef LV_HAVE_SSE3
#include <pmmintrin.h>
static inline void volk_32fc_x2_dot_prod_32fc_a_sse3(lv_32fc_t* result, const lv_32fc_t* input, const lv_32fc_t* taps, unsigned int num_bytes) {
-
+
lv_32fc_t dotProduct;
memset(&dotProduct, 0x0, 2*sizeof(float));
@@ -336,19 +336,19 @@ static inline void volk_32fc_x2_dot_prod_32fc_a_sse3(lv_32fc_t* result, const lv
dotProdVal = _mm_setzero_ps();
for(;number < halfPoints; number++){
-
+
x = _mm_load_ps((float*)a); // Load the ar + ai, br + bi as ar,ai,br,bi
y = _mm_load_ps((float*)b); // Load the cr + ci, dr + di as cr,ci,dr,di
-
+
yl = _mm_moveldup_ps(y); // Load yl with cr,cr,dr,dr
yh = _mm_movehdup_ps(y); // Load yh with ci,ci,di,di
-
+
tmp1 = _mm_mul_ps(x,yl); // tmp1 = ar*cr,ai*cr,br*dr,bi*dr
-
+
x = _mm_shuffle_ps(x,x,0xB1); // Re-arrange x to be ai,ar,bi,br
-
+
tmp2 = _mm_mul_ps(x,yh); // tmp2 = ai*ci,ar*ci,bi*di,br*di
-
+
z = _mm_addsub_ps(tmp1,tmp2); // ar*cr-ai*ci, ai*cr+ar*ci, br*dr-bi*di, bi*dr+br*di
dotProdVal = _mm_add_ps(dotProdVal, z); // Add the complex multiplication results together
@@ -368,7 +368,7 @@ static inline void volk_32fc_x2_dot_prod_32fc_a_sse3(lv_32fc_t* result, const lv
}
*result = dotProduct;
-}
+}
#endif /*LV_HAVE_SSE3*/
@@ -379,7 +379,7 @@ static inline void volk_32fc_x2_dot_prod_32fc_a_sse3(lv_32fc_t* result, const lv
static inline void volk_32fc_x2_dot_prod_32fc_a_sse4_1(lv_32fc_t* result, const lv_32fc_t* input, const lv_32fc_t* taps, unsigned int num_bytes) {
volk_32fc_x2_dot_prod_32fc_a_sse3(result, input, taps, num_bytes);
// SSE3 version runs twice as fast as the SSE4.1 version, so turning off SSE4 version for now
- /*
+ /*
__m128 xmm0, xmm1, xmm2, xmm3, xmm4, xmm5, xmm6, xmm7, real0, real1, im0, im1;
float *p_input, *p_taps;
__m64 *p_result;
@@ -391,7 +391,7 @@ static inline void volk_32fc_x2_dot_prod_32fc_a_sse4_1(lv_32fc_t* result, const
static const __m128i neg = {0x000000000000000080000000};
int i = 0;
-
+
int bound = (num_bytes >> 5);
int leftovers = (num_bytes & 24) >> 3;
@@ -399,27 +399,27 @@ static inline void volk_32fc_x2_dot_prod_32fc_a_sse4_1(lv_32fc_t* result, const
real1 = _mm_sub_ps(real1, real1);
im0 = _mm_sub_ps(im0, im0);
im1 = _mm_sub_ps(im1, im1);
-
+
for(; i < bound; ++i) {
-
-
+
+
xmm0 = _mm_load_ps(p_input);
xmm1 = _mm_load_ps(p_taps);
-
+
p_input += 4;
p_taps += 4;
-
+
xmm2 = _mm_load_ps(p_input);
xmm3 = _mm_load_ps(p_taps);
-
+
p_input += 4;
p_taps += 4;
-
+
xmm4 = _mm_unpackhi_ps(xmm0, xmm2);
xmm5 = _mm_unpackhi_ps(xmm1, xmm3);
xmm0 = _mm_unpacklo_ps(xmm0, xmm2);
xmm2 = _mm_unpacklo_ps(xmm1, xmm3);
-
+
//imaginary vector from input
xmm1 = _mm_unpackhi_ps(xmm0, xmm4);
//real vector from input
@@ -428,39 +428,39 @@ static inline void volk_32fc_x2_dot_prod_32fc_a_sse4_1(lv_32fc_t* result, const
xmm0 = _mm_unpackhi_ps(xmm2, xmm5);
//real vector from taps
xmm2 = _mm_unpacklo_ps(xmm2, xmm5);
-
+
xmm4 = _mm_dp_ps(xmm3, xmm2, 0xf1);
xmm5 = _mm_dp_ps(xmm1, xmm0, 0xf1);
-
+
xmm6 = _mm_dp_ps(xmm3, xmm0, 0xf2);
xmm7 = _mm_dp_ps(xmm1, xmm2, 0xf2);
-
+
real0 = _mm_add_ps(xmm4, real0);
real1 = _mm_add_ps(xmm5, real1);
im0 = _mm_add_ps(xmm6, im0);
im1 = _mm_add_ps(xmm7, im1);
-
+
}
-
-
+
+
real1 = _mm_xor_ps(real1, (__m128)neg);
-
-
+
+
im0 = _mm_add_ps(im0, im1);
real0 = _mm_add_ps(real0, real1);
-
+
im0 = _mm_add_ps(im0, real0);
-
+
_mm_storel_pi(p_result, im0);
-
+
for(i = bound * 4; i < (bound * 4) + leftovers; ++i) {
-
+
*result += input[i] * taps[i];
}
*/
-}
+}
#endif /*LV_HAVE_SSE4_1*/
diff --git a/volk/include/volk/volk_32fc_x2_multiply_32fc_a.h b/volk/include/volk/volk_32fc_x2_multiply_32fc_a.h
index aec8bd716..f79ddb59b 100644
--- a/volk/include/volk/volk_32fc_x2_multiply_32fc_a.h
+++ b/volk/include/volk/volk_32fc_x2_multiply_32fc_a.h
@@ -24,21 +24,21 @@ static inline void volk_32fc_x2_multiply_32fc_a_sse3(lv_32fc_t* cVector, const l
const lv_32fc_t* a = aVector;
const lv_32fc_t* b = bVector;
for(;number < halfPoints; number++){
-
+
x = _mm_load_ps((float*)a); // Load the ar + ai, br + bi as ar,ai,br,bi
y = _mm_load_ps((float*)b); // Load the cr + ci, dr + di as cr,ci,dr,di
-
+
yl = _mm_moveldup_ps(y); // Load yl with cr,cr,dr,dr
yh = _mm_movehdup_ps(y); // Load yh with ci,ci,di,di
-
+
tmp1 = _mm_mul_ps(x,yl); // tmp1 = ar*cr,ai*cr,br*dr,bi*dr
-
+
x = _mm_shuffle_ps(x,x,0xB1); // Re-arrange x to be ai,ar,bi,br
-
+
tmp2 = _mm_mul_ps(x,yh); // tmp2 = ai*ci,ar*ci,bi*di,br*di
-
+
z = _mm_addsub_ps(tmp1,tmp2); // ar*cr-ai*ci, ai*cr+ar*ci, br*dr-bi*di, bi*dr+br*di
-
+
_mm_store_ps((float*)c,z); // Store the results back into the C container
a += 2;
diff --git a/volk/include/volk/volk_32fc_x2_multiply_32fc_u.h b/volk/include/volk/volk_32fc_x2_multiply_32fc_u.h
index 729c1a4ad..a998d6184 100644
--- a/volk/include/volk/volk_32fc_x2_multiply_32fc_u.h
+++ b/volk/include/volk/volk_32fc_x2_multiply_32fc_u.h
@@ -25,21 +25,21 @@ static inline void volk_32fc_x2_multiply_32fc_u_sse3(lv_32fc_t* cVector, const l
const lv_32fc_t* b = bVector;
for(;number < halfPoints; number++){
-
+
x = _mm_loadu_ps((float*)a); // Load the ar + ai, br + bi as ar,ai,br,bi
y = _mm_loadu_ps((float*)b); // Load the cr + ci, dr + di as cr,ci,dr,di
-
+
yl = _mm_moveldup_ps(y); // Load yl with cr,cr,dr,dr
yh = _mm_movehdup_ps(y); // Load yh with ci,ci,di,di
-
+
tmp1 = _mm_mul_ps(x,yl); // tmp1 = ar*cr,ai*cr,br*dr,bi*dr
-
+
x = _mm_shuffle_ps(x,x,0xB1); // Re-arrange x to be ai,ar,bi,br
-
+
tmp2 = _mm_mul_ps(x,yh); // tmp2 = ai*ci,ar*ci,bi*di,br*di
-
+
z = _mm_addsub_ps(tmp1,tmp2); // ar*cr-ai*ci, ai*cr+ar*ci, br*dr-bi*di, bi*dr+br*di
-
+
_mm_storeu_ps((float*)c,z); // Store the results back into the C container
a += 2;
diff --git a/volk/include/volk/volk_32fc_x2_multiply_conjugate_32fc_a.h b/volk/include/volk/volk_32fc_x2_multiply_conjugate_32fc_a.h
index 2a1bcbce0..2755192e9 100644
--- a/volk/include/volk/volk_32fc_x2_multiply_conjugate_32fc_a.h
+++ b/volk/include/volk/volk_32fc_x2_multiply_conjugate_32fc_a.h
@@ -27,23 +27,23 @@ static inline void volk_32fc_x2_multiply_conjugate_32fc_a_sse3(lv_32fc_t* cVecto
__m128 conjugator = _mm_setr_ps(0, -0.f, 0, -0.f);
for(;number < halfPoints; number++){
-
+
x = _mm_load_ps((float*)a); // Load the ar + ai, br + bi as ar,ai,br,bi
y = _mm_load_ps((float*)b); // Load the cr + ci, dr + di as cr,ci,dr,di
y = _mm_xor_ps(y, conjugator); // conjugate y
-
+
yl = _mm_moveldup_ps(y); // Load yl with cr,cr,dr,dr
yh = _mm_movehdup_ps(y); // Load yh with ci,ci,di,di
-
+
tmp1 = _mm_mul_ps(x,yl); // tmp1 = ar*cr,ai*cr,br*dr,bi*dr
-
+
x = _mm_shuffle_ps(x,x,0xB1); // Re-arrange x to be ai,ar,bi,br
-
+
tmp2 = _mm_mul_ps(x,yh); // tmp2 = ai*ci,ar*ci,bi*di,br*di
-
+
z = _mm_addsub_ps(tmp1,tmp2); // ar*cr-ai*ci, ai*cr+ar*ci, br*dr-bi*di, bi*dr+br*di
-
+
_mm_store_ps((float*)c,z); // Store the results back into the C container
a += 2;
diff --git a/volk/include/volk/volk_32fc_x2_multiply_conjugate_32fc_u.h b/volk/include/volk/volk_32fc_x2_multiply_conjugate_32fc_u.h
index 92f6a051e..09dcd635b 100644
--- a/volk/include/volk/volk_32fc_x2_multiply_conjugate_32fc_u.h
+++ b/volk/include/volk/volk_32fc_x2_multiply_conjugate_32fc_u.h
@@ -27,23 +27,23 @@ static inline void volk_32fc_x2_multiply_conjugate_32fc_u_sse3(lv_32fc_t* cVecto
__m128 conjugator = _mm_setr_ps(0, -0.f, 0, -0.f);
for(;number < halfPoints; number++){
-
+
x = _mm_loadu_ps((float*)a); // Load the ar + ai, br + bi as ar,ai,br,bi
y = _mm_loadu_ps((float*)b); // Load the cr + ci, dr + di as cr,ci,dr,di
y = _mm_xor_ps(y, conjugator); // conjugate y
-
+
yl = _mm_moveldup_ps(y); // Load yl with cr,cr,dr,dr
yh = _mm_movehdup_ps(y); // Load yh with ci,ci,di,di
-
+
tmp1 = _mm_mul_ps(x,yl); // tmp1 = ar*cr,ai*cr,br*dr,bi*dr
-
+
x = _mm_shuffle_ps(x,x,0xB1); // Re-arrange x to be ai,ar,bi,br
-
+
tmp2 = _mm_mul_ps(x,yh); // tmp2 = ai*ci,ar*ci,bi*di,br*di
-
+
z = _mm_addsub_ps(tmp1,tmp2); // ar*cr-ai*ci, ai*cr+ar*ci, br*dr-bi*di, bi*dr+br*di
-
+
_mm_storeu_ps((float*)c,z); // Store the results back into the C container
a += 2;
diff --git a/volk/include/volk/volk_32fc_x2_s32f_square_dist_scalar_mult_32f_a.h b/volk/include/volk/volk_32fc_x2_s32f_square_dist_scalar_mult_32f_a.h
index 2d5f36b27..75eb9173d 100644
--- a/volk/include/volk/volk_32fc_x2_s32f_square_dist_scalar_mult_32f_a.h
+++ b/volk/include/volk/volk_32fc_x2_s32f_square_dist_scalar_mult_32f_a.h
@@ -11,7 +11,7 @@
#include<pmmintrin.h>
static inline void volk_32fc_x2_s32f_square_dist_scalar_mult_32f_a_sse3(float* target, lv_32fc_t* src0, lv_32fc_t* points, float scalar, unsigned int num_bytes) {
-
+
__m128 xmm1, xmm2, xmm3, xmm4, xmm5, xmm6, xmm7, xmm8;
@@ -23,31 +23,31 @@ static inline void volk_32fc_x2_s32f_square_dist_scalar_mult_32f_a_sse3(float* t
int leftovers0 = (num_bytes >> 4) & 1;
int leftovers1 = (num_bytes >> 3) & 1;
int i = 0;
-
-
-
+
+
+
xmm1 = _mm_setzero_ps();
- xmm1 = _mm_loadl_pi(xmm1, (__m64*)src0);
+ xmm1 = _mm_loadl_pi(xmm1, (__m64*)src0);
xmm2 = _mm_load_ps((float*)&points[0]);
xmm8 = _mm_load1_ps(&scalar);
xmm1 = _mm_movelh_ps(xmm1, xmm1);
xmm3 = _mm_load_ps((float*)&points[2]);
-
-
+
+
for(; i < bound - 1; ++i) {
-
+
xmm4 = _mm_sub_ps(xmm1, xmm2);
xmm5 = _mm_sub_ps(xmm1, xmm3);
points += 4;
xmm6 = _mm_mul_ps(xmm4, xmm4);
xmm7 = _mm_mul_ps(xmm5, xmm5);
-
+
xmm2 = _mm_load_ps((float*)&points[0]);
-
+
xmm4 = _mm_hadd_ps(xmm6, xmm7);
xmm3 = _mm_load_ps((float*)&points[2]);
-
+
xmm4 = _mm_mul_ps(xmm4, xmm8);
_mm_store_ps(target, xmm4);
@@ -55,46 +55,46 @@ static inline void volk_32fc_x2_s32f_square_dist_scalar_mult_32f_a_sse3(float* t
target += 4;
}
-
+
xmm4 = _mm_sub_ps(xmm1, xmm2);
xmm5 = _mm_sub_ps(xmm1, xmm3);
-
-
+
+
points += 4;
xmm6 = _mm_mul_ps(xmm4, xmm4);
xmm7 = _mm_mul_ps(xmm5, xmm5);
-
+
xmm4 = _mm_hadd_ps(xmm6, xmm7);
-
+
xmm4 = _mm_mul_ps(xmm4, xmm8);
-
+
_mm_store_ps(target, xmm4);
-
+
target += 4;
-
+
for(i = 0; i < leftovers0; ++i) {
-
+
xmm2 = _mm_load_ps((float*)&points[0]);
-
+
xmm4 = _mm_sub_ps(xmm1, xmm2);
-
+
points += 2;
-
+
xmm6 = _mm_mul_ps(xmm4, xmm4);
xmm4 = _mm_hadd_ps(xmm6, xmm6);
xmm4 = _mm_mul_ps(xmm4, xmm8);
-
+
_mm_storeh_pi((__m64*)target, xmm4);
target += 2;
}
for(i = 0; i < leftovers1; ++i) {
-
+
diff = src0[0] - points[0];
sq_dist = scalar * (lv_creal(diff) * lv_creal(diff) + lv_cimag(diff) * lv_cimag(diff));
@@ -109,13 +109,13 @@ static inline void volk_32fc_x2_s32f_square_dist_scalar_mult_32f_a_sse3(float* t
static inline void volk_32fc_x2_s32f_square_dist_scalar_mult_32f_a_generic(float* target, lv_32fc_t* src0, lv_32fc_t* points, float scalar, unsigned int num_bytes) {
lv_32fc_t diff;
float sq_dist;
- unsigned int i = 0;
-
+ unsigned int i = 0;
+
for(; i < num_bytes >> 3; ++i) {
diff = src0[0] - points[i];
sq_dist = scalar * (lv_creal(diff) * lv_creal(diff) + lv_cimag(diff) * lv_cimag(diff));
-
+
target[i] = sq_dist;
}
}
diff --git a/volk/include/volk/volk_32fc_x2_square_dist_32f_a.h b/volk/include/volk/volk_32fc_x2_square_dist_32f_a.h
index 6a4a08ca5..b819eaffd 100644
--- a/volk/include/volk/volk_32fc_x2_square_dist_32f_a.h
+++ b/volk/include/volk/volk_32fc_x2_square_dist_32f_a.h
@@ -10,7 +10,7 @@
#include<pmmintrin.h>
static inline void volk_32fc_x2_square_dist_32f_a_sse3(float* target, lv_32fc_t* src0, lv_32fc_t* points, unsigned int num_bytes) {
-
+
__m128 xmm1, xmm2, xmm3, xmm4, xmm5, xmm6, xmm7;
@@ -22,11 +22,11 @@ static inline void volk_32fc_x2_square_dist_32f_a_sse3(float* target, lv_32fc_t*
int i = 0;
xmm1 = _mm_setzero_ps();
- xmm1 = _mm_loadl_pi(xmm1, (__m64*)src0);
+ xmm1 = _mm_loadl_pi(xmm1, (__m64*)src0);
xmm2 = _mm_load_ps((float*)&points[0]);
xmm1 = _mm_movelh_ps(xmm1, xmm1);
xmm3 = _mm_load_ps((float*)&points[2]);
-
+
for(; i < bound - 1; ++i) {
xmm4 = _mm_sub_ps(xmm1, xmm2);
@@ -34,9 +34,9 @@ static inline void volk_32fc_x2_square_dist_32f_a_sse3(float* target, lv_32fc_t*
points += 4;
xmm6 = _mm_mul_ps(xmm4, xmm4);
xmm7 = _mm_mul_ps(xmm5, xmm5);
-
+
xmm2 = _mm_load_ps((float*)&points[0]);
-
+
xmm4 = _mm_hadd_ps(xmm6, xmm7);
xmm3 = _mm_load_ps((float*)&points[2]);
@@ -46,41 +46,41 @@ static inline void volk_32fc_x2_square_dist_32f_a_sse3(float* target, lv_32fc_t*
target += 4;
}
-
+
xmm4 = _mm_sub_ps(xmm1, xmm2);
xmm5 = _mm_sub_ps(xmm1, xmm3);
-
-
+
+
points += 4;
xmm6 = _mm_mul_ps(xmm4, xmm4);
xmm7 = _mm_mul_ps(xmm5, xmm5);
-
+
xmm4 = _mm_hadd_ps(xmm6, xmm7);
-
+
_mm_store_ps(target, xmm4);
-
+
target += 4;
for(i = 0; i < leftovers0; ++i) {
-
+
xmm2 = _mm_load_ps((float*)&points[0]);
-
+
xmm4 = _mm_sub_ps(xmm1, xmm2);
-
+
points += 2;
-
+
xmm6 = _mm_mul_ps(xmm4, xmm4);
xmm4 = _mm_hadd_ps(xmm6, xmm6);
-
+
_mm_storeh_pi((__m64*)target, xmm4);
target += 2;
}
for(i = 0; i < leftovers1; ++i) {
-
+
diff = src0[0] - points[0];
sq_dist = lv_creal(diff) * lv_creal(diff) + lv_cimag(diff) * lv_cimag(diff);
@@ -95,13 +95,13 @@ static inline void volk_32fc_x2_square_dist_32f_a_sse3(float* target, lv_32fc_t*
static inline void volk_32fc_x2_square_dist_32f_a_generic(float* target, lv_32fc_t* src0, lv_32fc_t* points, unsigned int num_bytes) {
lv_32fc_t diff;
float sq_dist;
- unsigned int i = 0;
-
+ unsigned int i = 0;
+
for(; i < num_bytes >> 3; ++i) {
diff = src0[0] - points[i];
sq_dist = lv_creal(diff) * lv_creal(diff) + lv_cimag(diff) * lv_cimag(diff);
-
+
target[i] = sq_dist;
}
}
diff --git a/volk/include/volk/volk_32i_s32f_convert_32f_a.h b/volk/include/volk/volk_32i_s32f_convert_32f_a.h
index 558142869..8f4123d71 100644
--- a/volk/include/volk/volk_32i_s32f_convert_32f_a.h
+++ b/volk/include/volk/volk_32i_s32f_convert_32f_a.h
@@ -17,7 +17,7 @@
static inline void volk_32i_s32f_convert_32f_a_sse2(float* outputVector, const int32_t* inputVector, const float scalar, unsigned int num_points){
unsigned int number = 0;
const unsigned int quarterPoints = num_points / 4;
-
+
float* outputVectorPtr = outputVector;
const float iScalar = 1.0 / scalar;
__m128 invScalar = _mm_set_ps1(iScalar);
diff --git a/volk/include/volk/volk_32i_s32f_convert_32f_u.h b/volk/include/volk/volk_32i_s32f_convert_32f_u.h
index d8afd218c..b3a8ab201 100644
--- a/volk/include/volk/volk_32i_s32f_convert_32f_u.h
+++ b/volk/include/volk/volk_32i_s32f_convert_32f_u.h
@@ -18,7 +18,7 @@
static inline void volk_32i_s32f_convert_32f_u_sse2(float* outputVector, const int32_t* inputVector, const float scalar, unsigned int num_points){
unsigned int number = 0;
const unsigned int quarterPoints = num_points / 4;
-
+
float* outputVectorPtr = outputVector;
const float iScalar = 1.0 / scalar;
__m128 invScalar = _mm_set_ps1(iScalar);
diff --git a/volk/include/volk/volk_32i_x2_and_32i_a.h b/volk/include/volk/volk_32i_x2_and_32i_a.h
index dcd63d98e..e5330847b 100644
--- a/volk/include/volk/volk_32i_x2_and_32i_a.h
+++ b/volk/include/volk/volk_32i_x2_and_32i_a.h
@@ -23,12 +23,12 @@ static inline void volk_32i_x2_and_32i_a_sse(int32_t* cVector, const int32_t* aV
__m128 aVal, bVal, cVal;
for(;number < quarterPoints; number++){
-
- aVal = _mm_load_ps(aPtr);
+
+ aVal = _mm_load_ps(aPtr);
bVal = _mm_load_ps(bPtr);
-
- cVal = _mm_and_ps(aVal, bVal);
-
+
+ cVal = _mm_and_ps(aVal, bVal);
+
_mm_store_ps(cPtr,cVal); // Store the results back into the C container
aPtr += 4;
diff --git a/volk/include/volk/volk_32i_x2_or_32i_a.h b/volk/include/volk/volk_32i_x2_or_32i_a.h
index 243e8178c..24045894c 100644
--- a/volk/include/volk/volk_32i_x2_or_32i_a.h
+++ b/volk/include/volk/volk_32i_x2_or_32i_a.h
@@ -23,12 +23,12 @@ static inline void volk_32i_x2_or_32i_a_sse(int32_t* cVector, const int32_t* aVe
__m128 aVal, bVal, cVal;
for(;number < quarterPoints; number++){
-
- aVal = _mm_load_ps(aPtr);
+
+ aVal = _mm_load_ps(aPtr);
bVal = _mm_load_ps(bPtr);
-
- cVal = _mm_or_ps(aVal, bVal);
-
+
+ cVal = _mm_or_ps(aVal, bVal);
+
_mm_store_ps(cPtr,cVal); // Store the results back into the C container
aPtr += 4;
diff --git a/volk/include/volk/volk_32u_byteswap_a.h b/volk/include/volk/volk_32u_byteswap_a.h
index b88848096..71ae027d3 100644
--- a/volk/include/volk/volk_32u_byteswap_a.h
+++ b/volk/include/volk/volk_32u_byteswap_a.h
@@ -39,9 +39,9 @@ static inline void volk_32u_byteswap_a_sse2(uint32_t* intsToSwap, unsigned int n
_mm_store_si128((__m128i*)inputPtr, output);
inputPtr += 4;
}
-
+
// Byteswap any remaining points:
- number = quarterPoints*4;
+ number = quarterPoints*4;
for(; number < num_points; number++){
uint32_t outputVal = *inputPtr;
outputVal = (((outputVal >> 24) & 0xff) | ((outputVal >> 8) & 0x0000ff00) | ((outputVal << 8) & 0x00ff0000) | ((outputVal << 24) & 0xff000000));
@@ -64,7 +64,7 @@ static inline void volk_32u_byteswap_a_generic(uint32_t* intsToSwap, unsigned in
for(point = 0; point < num_points; point++){
uint32_t output = *inputPtr;
output = (((output >> 24) & 0xff) | ((output >> 8) & 0x0000ff00) | ((output << 8) & 0x00ff0000) | ((output << 24) & 0xff000000));
-
+
*inputPtr = output;
inputPtr++;
}
diff --git a/volk/include/volk/volk_64f_convert_32f_a.h b/volk/include/volk/volk_64f_convert_32f_a.h
index 2126e4f95..11d51702b 100644
--- a/volk/include/volk/volk_64f_convert_32f_a.h
+++ b/volk/include/volk/volk_64f_convert_32f_a.h
@@ -16,7 +16,7 @@ static inline void volk_64f_convert_32f_a_sse2(float* outputVector, const double
unsigned int number = 0;
const unsigned int quarterPoints = num_points / 4;
-
+
const double* inputVectorPtr = (const double*)inputVector;
float* outputVectorPtr = outputVector;
__m128 ret, ret2;
@@ -25,7 +25,7 @@ static inline void volk_64f_convert_32f_a_sse2(float* outputVector, const double
for(;number < quarterPoints; number++){
inputVal1 = _mm_load_pd(inputVectorPtr); inputVectorPtr += 2;
inputVal2 = _mm_load_pd(inputVectorPtr); inputVectorPtr += 2;
-
+
ret = _mm_cvtpd_ps(inputVal1);
ret2 = _mm_cvtpd_ps(inputVal2);
@@ -35,7 +35,7 @@ static inline void volk_64f_convert_32f_a_sse2(float* outputVector, const double
outputVectorPtr += 4;
}
- number = quarterPoints * 4;
+ number = quarterPoints * 4;
for(; number < num_points; number++){
outputVector[number] = (float)(inputVector[number]);
}
diff --git a/volk/include/volk/volk_64f_convert_32f_u.h b/volk/include/volk/volk_64f_convert_32f_u.h
index 5c323230a..31dc5b5fe 100644
--- a/volk/include/volk/volk_64f_convert_32f_u.h
+++ b/volk/include/volk/volk_64f_convert_32f_u.h
@@ -16,7 +16,7 @@ static inline void volk_64f_convert_32f_u_sse2(float* outputVector, const double
unsigned int number = 0;
const unsigned int quarterPoints = num_points / 4;
-
+
const double* inputVectorPtr = (const double*)inputVector;
float* outputVectorPtr = outputVector;
__m128 ret, ret2;
@@ -25,7 +25,7 @@ static inline void volk_64f_convert_32f_u_sse2(float* outputVector, const double
for(;number < quarterPoints; number++){
inputVal1 = _mm_loadu_pd(inputVectorPtr); inputVectorPtr += 2;
inputVal2 = _mm_loadu_pd(inputVectorPtr); inputVectorPtr += 2;
-
+
ret = _mm_cvtpd_ps(inputVal1);
ret2 = _mm_cvtpd_ps(inputVal2);
@@ -35,7 +35,7 @@ static inline void volk_64f_convert_32f_u_sse2(float* outputVector, const double
outputVectorPtr += 4;
}
- number = quarterPoints * 4;
+ number = quarterPoints * 4;
for(; number < num_points; number++){
outputVector[number] = (float)(inputVector[number]);
}
diff --git a/volk/include/volk/volk_64f_x2_max_64f_a.h b/volk/include/volk/volk_64f_x2_max_64f_a.h
index 61a704c52..33aae6d10 100644
--- a/volk/include/volk/volk_64f_x2_max_64f_a.h
+++ b/volk/include/volk/volk_64f_x2_max_64f_a.h
@@ -23,12 +23,12 @@ static inline void volk_64f_x2_max_64f_a_sse2(double* cVector, const double* aVe
__m128d aVal, bVal, cVal;
for(;number < halfPoints; number++){
-
- aVal = _mm_load_pd(aPtr);
+
+ aVal = _mm_load_pd(aPtr);
bVal = _mm_load_pd(bPtr);
-
- cVal = _mm_max_pd(aVal, bVal);
-
+
+ cVal = _mm_max_pd(aVal, bVal);
+
_mm_store_pd(cPtr,cVal); // Store the results back into the C container
aPtr += 2;
diff --git a/volk/include/volk/volk_64f_x2_min_64f_a.h b/volk/include/volk/volk_64f_x2_min_64f_a.h
index 148b72c59..25d8b4c98 100644
--- a/volk/include/volk/volk_64f_x2_min_64f_a.h
+++ b/volk/include/volk/volk_64f_x2_min_64f_a.h
@@ -23,12 +23,12 @@ static inline void volk_64f_x2_min_64f_a_sse2(double* cVector, const double* aVe
__m128d aVal, bVal, cVal;
for(;number < halfPoints; number++){
-
- aVal = _mm_load_pd(aPtr);
+
+ aVal = _mm_load_pd(aPtr);
bVal = _mm_load_pd(bPtr);
-
- cVal = _mm_min_pd(aVal, bVal);
-
+
+ cVal = _mm_min_pd(aVal, bVal);
+
_mm_store_pd(cPtr,cVal); // Store the results back into the C container
aPtr += 2;
diff --git a/volk/include/volk/volk_64u_byteswap_a.h b/volk/include/volk/volk_64u_byteswap_a.h
index d4fc74a6e..3d1d87623 100644
--- a/volk/include/volk/volk_64u_byteswap_a.h
+++ b/volk/include/volk/volk_64u_byteswap_a.h
@@ -34,7 +34,7 @@ static inline void volk_64u_byteswap_a_sse2(uint64_t* intsToSwap, unsigned int n
output = _mm_or_si128(output, byte2);
byte3 = _mm_and_si128(byte3, byte3mask);
output = _mm_or_si128(output, byte3);
-
+
// Reorder the two words
output = _mm_shuffle_epi32(output, _MM_SHUFFLE(2, 3, 0, 1));
@@ -42,17 +42,17 @@ static inline void volk_64u_byteswap_a_sse2(uint64_t* intsToSwap, unsigned int n
_mm_store_si128((__m128i*)inputPtr, output);
inputPtr += 4;
}
-
+
// Byteswap any remaining points:
- number = halfPoints*2;
+ number = halfPoints*2;
for(; number < num_points; number++){
uint32_t output1 = *inputPtr;
uint32_t output2 = inputPtr[1];
-
+
output1 = (((output1 >> 24) & 0xff) | ((output1 >> 8) & 0x0000ff00) | ((output1 << 8) & 0x00ff0000) | ((output1 << 24) & 0xff000000));
-
+
output2 = (((output2 >> 24) & 0xff) | ((output2 >> 8) & 0x0000ff00) | ((output2 << 8) & 0x00ff0000) | ((output2 << 24) & 0xff000000));
-
+
*inputPtr++ = output2;
*inputPtr++ = output1;
}
@@ -71,11 +71,11 @@ static inline void volk_64u_byteswap_a_generic(uint64_t* intsToSwap, unsigned in
for(point = 0; point < num_points; point++){
uint32_t output1 = *inputPtr;
uint32_t output2 = inputPtr[1];
-
+
output1 = (((output1 >> 24) & 0xff) | ((output1 >> 8) & 0x0000ff00) | ((output1 << 8) & 0x00ff0000) | ((output1 << 24) & 0xff000000));
-
+
output2 = (((output2 >> 24) & 0xff) | ((output2 >> 8) & 0x0000ff00) | ((output2 << 8) & 0x00ff0000) | ((output2 << 24) & 0xff000000));
-
+
*inputPtr++ = output2;
*inputPtr++ = output1;
}
diff --git a/volk/include/volk/volk_64u_popcnt_a.h b/volk/include/volk/volk_64u_popcnt_a.h
index 4683f1e38..7d7359ccf 100644
--- a/volk/include/volk/volk_64u_popcnt_a.h
+++ b/volk/include/volk/volk_64u_popcnt_a.h
@@ -11,7 +11,7 @@
static inline void volk_64u_popcnt_a_generic(uint64_t* ret, const uint64_t value) {
//const uint32_t* valueVector = (const uint32_t*)&value;
-
+
// This is faster than a lookup table
//uint32_t retVal = valueVector[0];
uint32_t retVal = (uint32_t)(value && 0x00000000FFFFFFFF);
diff --git a/volk/include/volk/volk_8i_s32f_convert_32f_a.h b/volk/include/volk/volk_8i_s32f_convert_32f_a.h
index 7f2623ac6..02a7f356e 100644
--- a/volk/include/volk/volk_8i_s32f_convert_32f_a.h
+++ b/volk/include/volk/volk_8i_s32f_convert_32f_a.h
@@ -17,7 +17,7 @@
static inline void volk_8i_s32f_convert_32f_a_sse4_1(float* outputVector, const int8_t* inputVector, const float scalar, unsigned int num_points){
unsigned int number = 0;
const unsigned int sixteenthPoints = num_points / 16;
-
+
float* outputVectorPtr = outputVector;
const float iScalar = 1.0 / scalar;
__m128 invScalar = _mm_set_ps1(iScalar);
diff --git a/volk/include/volk/volk_8i_s32f_convert_32f_u.h b/volk/include/volk/volk_8i_s32f_convert_32f_u.h
index 3cd6bb67c..8bb2c0d1a 100644
--- a/volk/include/volk/volk_8i_s32f_convert_32f_u.h
+++ b/volk/include/volk/volk_8i_s32f_convert_32f_u.h
@@ -18,7 +18,7 @@
static inline void volk_8i_s32f_convert_32f_u_sse4_1(float* outputVector, const int8_t* inputVector, const float scalar, unsigned int num_points){
unsigned int number = 0;
const unsigned int sixteenthPoints = num_points / 16;
-
+
float* outputVectorPtr = outputVector;
const float iScalar = 1.0 / scalar;
__m128 invScalar = _mm_set_ps1( iScalar );
diff --git a/volk/include/volk/volk_8ic_s32f_deinterleave_32f_x2_a.h b/volk/include/volk/volk_8ic_s32f_deinterleave_32f_x2_a.h
index b723c6f8b..d82da59fb 100644
--- a/volk/include/volk/volk_8ic_s32f_deinterleave_32f_x2_a.h
+++ b/volk/include/volk/volk_8ic_s32f_deinterleave_32f_x2_a.h
@@ -20,7 +20,7 @@ static inline void volk_8ic_s32f_deinterleave_32f_x2_a_sse4_1(float* iBuffer, fl
float* qBufferPtr = qBuffer;
unsigned int number = 0;
- const unsigned int eighthPoints = num_points / 8;
+ const unsigned int eighthPoints = num_points / 8;
__m128 iFloatValue, qFloatValue;
const float iScalar= 1.0 / scalar;
@@ -71,7 +71,7 @@ static inline void volk_8ic_s32f_deinterleave_32f_x2_a_sse4_1(float* iBuffer, fl
*iBufferPtr++ = (float)(*complexVectorPtr++) * iScalar;
*qBufferPtr++ = (float)(*complexVectorPtr++) * iScalar;
}
-
+
}
#endif /* LV_HAVE_SSE4_1 */
@@ -90,7 +90,7 @@ static inline void volk_8ic_s32f_deinterleave_32f_x2_a_sse(float* iBuffer, float
float* qBufferPtr = qBuffer;
unsigned int number = 0;
- const unsigned int quarterPoints = num_points / 4;
+ const unsigned int quarterPoints = num_points / 4;
__m128 cplxValue1, cplxValue2, iValue, qValue;
__m128 invScalar = _mm_set_ps1(1.0/scalar);
@@ -103,7 +103,7 @@ static inline void volk_8ic_s32f_deinterleave_32f_x2_a_sse(float* iBuffer, float
floatBuffer[1] = (float)(complexVectorPtr[1]);
floatBuffer[2] = (float)(complexVectorPtr[2]);
floatBuffer[3] = (float)(complexVectorPtr[3]);
-
+
floatBuffer[4] = (float)(complexVectorPtr[4]);
floatBuffer[5] = (float)(complexVectorPtr[5]);
floatBuffer[6] = (float)(complexVectorPtr[6]);
diff --git a/volk/include/volk/volk_8ic_s32f_deinterleave_real_32f_a.h b/volk/include/volk/volk_8ic_s32f_deinterleave_real_32f_a.h
index 74073f5a6..b2c15d3a3 100644
--- a/volk/include/volk/volk_8ic_s32f_deinterleave_real_32f_a.h
+++ b/volk/include/volk/volk_8ic_s32f_deinterleave_real_32f_a.h
@@ -18,7 +18,7 @@ static inline void volk_8ic_s32f_deinterleave_real_32f_a_sse4_1(float* iBuffer,
float* iBufferPtr = iBuffer;
unsigned int number = 0;
- const unsigned int eighthPoints = num_points / 8;
+ const unsigned int eighthPoints = num_points / 8;
__m128 iFloatValue;
const float iScalar= 1.0 / scalar;
@@ -57,7 +57,7 @@ static inline void volk_8ic_s32f_deinterleave_real_32f_a_sse4_1(float* iBuffer,
*iBufferPtr++ = (float)(*complexVectorPtr++) * iScalar;
complexVectorPtr++;
}
-
+
}
#endif /* LV_HAVE_SSE4_1 */
@@ -75,7 +75,7 @@ static inline void volk_8ic_s32f_deinterleave_real_32f_a_sse(float* iBuffer, con
float* iBufferPtr = iBuffer;
unsigned int number = 0;
- const unsigned int quarterPoints = num_points / 4;
+ const unsigned int quarterPoints = num_points / 4;
__m128 iValue;
const float iScalar= 1.0 / scalar;
@@ -88,7 +88,7 @@ static inline void volk_8ic_s32f_deinterleave_real_32f_a_sse(float* iBuffer, con
floatBuffer[0] = (float)(*complexVectorPtr); complexVectorPtr += 2;
floatBuffer[1] = (float)(*complexVectorPtr); complexVectorPtr += 2;
floatBuffer[2] = (float)(*complexVectorPtr); complexVectorPtr += 2;
- floatBuffer[3] = (float)(*complexVectorPtr); complexVectorPtr += 2;
+ floatBuffer[3] = (float)(*complexVectorPtr); complexVectorPtr += 2;
iValue = _mm_load_ps(floatBuffer);
@@ -104,7 +104,7 @@ static inline void volk_8ic_s32f_deinterleave_real_32f_a_sse(float* iBuffer, con
*iBufferPtr++ = (float)(*complexVectorPtr++) * iScalar;
complexVectorPtr++;
}
-
+
}
#endif /* LV_HAVE_SSE */
diff --git a/volk/include/volk/volk_8ic_x2_multiply_conjugate_16ic_a.h b/volk/include/volk/volk_8ic_x2_multiply_conjugate_16ic_a.h
index 0c280eb6e..f85fdb999 100644
--- a/volk/include/volk/volk_8ic_x2_multiply_conjugate_16ic_a.h
+++ b/volk/include/volk/volk_8ic_x2_multiply_conjugate_16ic_a.h
@@ -23,15 +23,15 @@ static inline void volk_8ic_x2_multiply_conjugate_16ic_a_sse4_1(lv_16sc_t* cVect
const lv_8sc_t* a = aVector;
const lv_8sc_t* b = bVector;
__m128i conjugateSign = _mm_set_epi16(-1, 1, -1, 1, -1, 1, -1, 1);
-
+
for(;number < quarterPoints; number++){
// Convert into 8 bit values into 16 bit values
x = _mm_cvtepi8_epi16(_mm_loadl_epi64((__m128i*)a));
y = _mm_cvtepi8_epi16(_mm_loadl_epi64((__m128i*)b));
-
+
// Calculate the ar*cr - ai*(-ci) portions
realz = _mm_madd_epi16(x,y);
-
+
// Calculate the complex conjugate of the cr + ci j values
y = _mm_sign_epi16(y, conjugateSign);
@@ -47,7 +47,7 @@ static inline void volk_8ic_x2_multiply_conjugate_16ic_a_sse4_1(lv_16sc_t* cVect
b += 4;
c += 4;
}
-
+
number = quarterPoints * 4;
int16_t* c16Ptr = (int16_t*)&cVector[number];
int8_t* a8Ptr = (int8_t*)&aVector[number];
diff --git a/volk/include/volk/volk_8ic_x2_s32f_multiply_conjugate_32fc_a.h b/volk/include/volk/volk_8ic_x2_s32f_multiply_conjugate_32fc_a.h
index a2c2b04f6..4b16171ce 100644
--- a/volk/include/volk/volk_8ic_x2_s32f_multiply_conjugate_32fc_a.h
+++ b/volk/include/volk/volk_8ic_x2_s32f_multiply_conjugate_32fc_a.h
@@ -80,7 +80,7 @@ static inline void volk_8ic_x2_s32f_multiply_conjugate_32fc_a_sse4_1(lv_32fc_t*
float bImag = (float)*b8Ptr++;
lv_32fc_t bVal = lv_cmake( bReal, -bImag );
lv_32fc_t temp = aVal * bVal;
-
+
*cFloatPtr++ = lv_creal(temp) / scalar;
*cFloatPtr++ = lv_cimag(temp) / scalar;
}
@@ -109,7 +109,7 @@ static inline void volk_8ic_x2_s32f_multiply_conjugate_32fc_a_generic(lv_32fc_t*
float bImag = (float)*b8Ptr++;
lv_32fc_t bVal = lv_cmake( bReal, -bImag );
lv_32fc_t temp = aVal * bVal;
-
+
*cPtr++ = (lv_creal(temp) * invScalar);
*cPtr++ = (lv_cimag(temp) * invScalar);
}
diff --git a/volk/lib/.gitignore b/volk/lib/.gitignore
deleted file mode 100644
index 28ec6ddaa..000000000
--- a/volk/lib/.gitignore
+++ /dev/null
@@ -1,4 +0,0 @@
-/Makefile
-/Makefile.in
-/Makefile.am
-/testqa
diff --git a/volk/lib/gcc_x86_cpuid.h b/volk/lib/gcc_x86_cpuid.h
index 2d0916fb3..98eeb33a3 100644
--- a/volk/lib/gcc_x86_cpuid.h
+++ b/volk/lib/gcc_x86_cpuid.h
@@ -5,16 +5,16 @@
* under the terms of the GNU General Public License as published by the
* Free Software Foundation; either version 3, or (at your option) any
* later version.
- *
+ *
* This file is distributed in the hope that it will be useful, but
* WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* General Public License for more details.
- *
+ *
* Under Section 7 of GPL version 3, you are granted additional
* permissions described in the GCC Runtime Library Exception, version
* 3.1, as published by the Free Software Foundation.
- *
+ *
* You should have received a copy of the GNU General Public License and
* a copy of the GCC Runtime Library Exception along with this program;
* see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
diff --git a/volk/lib/qa_16s_add_quad_aligned16.cc b/volk/lib/qa_16s_add_quad_aligned16.cc
index 5d5eb7e18..8da43b972 100644
--- a/volk/lib/qa_16s_add_quad_aligned16.cc
+++ b/volk/lib/qa_16s_add_quad_aligned16.cc
@@ -16,7 +16,7 @@ void qa_16s_add_quad_aligned16::t1() {
void qa_16s_add_quad_aligned16::t1() {
-
+
volk_environment_init();
clock_t start, end;
double total;
@@ -27,7 +27,7 @@ void qa_16s_add_quad_aligned16::t1() {
__VOLK_ATTR_ALIGNED(16) short input2[vlen];
__VOLK_ATTR_ALIGNED(16) short input3[vlen];
__VOLK_ATTR_ALIGNED(16) short input4[vlen];
-
+
__VOLK_ATTR_ALIGNED(16) short output0[vlen];
__VOLK_ATTR_ALIGNED(16) short output1[vlen];
__VOLK_ATTR_ALIGNED(16) short output2[vlen];
@@ -48,13 +48,13 @@ void qa_16s_add_quad_aligned16::t1() {
short minus3 = ((short) (rand() - (RAND_MAX/2))) >> 2;
short plus4 = ((short) (rand() - (RAND_MAX/2))) >> 2;
short minus4 = ((short) (rand() - (RAND_MAX/2))) >> 2;
-
+
input0[i] = plus0 - minus0;
input1[i] = plus1 - minus1;
input2[i] = plus2 - minus2;
input3[i] = plus3 - minus3;
input4[i] = plus4 - minus4;
-
+
}
printf("16s_add_quad_aligned\n");
@@ -76,7 +76,7 @@ void qa_16s_add_quad_aligned16::t1() {
//printf("inputs: %d, %d\n", input0[i*2], input0[i*2 + 1]);
//printf("generic... %d, ssse3... %d\n", output0[i], output1[i]);
}
-
+
for(int i = 0; i < vlen; ++i) {
//printf("%d...%d\n", output0[i], output01[i]);
CPPUNIT_ASSERT_EQUAL(output0[i], output01[i]);
diff --git a/volk/lib/qa_16s_branch_4_state_8_aligned16.cc b/volk/lib/qa_16s_branch_4_state_8_aligned16.cc
index 2e6e6a1a0..5a58569a1 100644
--- a/volk/lib/qa_16s_branch_4_state_8_aligned16.cc
+++ b/volk/lib/qa_16s_branch_4_state_8_aligned16.cc
@@ -22,17 +22,17 @@ void qa_16s_branch_4_state_8_aligned16::t1() {
static char permute2[16]__attribute__((aligned(16))) = {0x02, 0x03, 0x06, 0x07, 0x08, 0x09, 0x0c, 0x0d, 0x00, 0x01, 0x04, 0x05, 0x0a, 0x0b, 0x0e, 0x0f};
static char permute3[16]__attribute__((aligned(16))) = {0x00, 0x01, 0x04, 0x05, 0x0a, 0x0b, 0x0e, 0x0f, 0x02, 0x03, 0x06, 0x07, 0x08, 0x09, 0x0c, 0x0d};
static char* permuters[4] = {permute0, permute1, permute2, permute3};
-
+
unsigned int num_bytes = vlen << 1;
volk_environment_init();
clock_t start, end;
double total;
-
+
__VOLK_ATTR_ALIGNED(16) short target[vlen];
__VOLK_ATTR_ALIGNED(16) short target2[vlen];
__VOLK_ATTR_ALIGNED(16) short target3[vlen];
-
+
__VOLK_ATTR_ALIGNED(16) short src0[vlen];
__VOLK_ATTR_ALIGNED(16) short permute_indexes[vlen] = {
7, 5, 2, 0, 6, 4, 3, 1, 6, 4, 3, 1, 7, 5, 2, 0, 1, 3, 4, 6, 0, 2, 5, 7, 0, 2, 5, 7, 1, 3, 4, 6 };
@@ -45,29 +45,29 @@ void qa_16s_branch_4_state_8_aligned16::t1() {
__VOLK_ATTR_ALIGNED(16) short cntl3[vlen] = {
0xffff, 0xffff, 0x0000, 0x0000, 0xffff, 0xffff, 0x0000, 0x0000, 0x0000, 0x0000, 0xffff, 0xffff, 0x0000, 0x0000, 0xffff, 0xffff, 0xffff, 0xffff, 0x0000, 0x0000, 0xffff, 0xffff, 0x0000, 0x0000, 0x0000, 0x0000, 0xffff, 0xffff, 0x0000, 0x0000, 0xffff, 0xffff };
__VOLK_ATTR_ALIGNED(16) short scalars[4] = {1, 2, 3, 4};
-
-
+
+
for(int i = 0; i < vlen; ++i) {
src0[i] = i;
-
+
}
-
+
printf("16s_branch_4_state_8_aligned\n");
-
-
+
+
start = clock();
for(int i = 0; i < num_iters; ++i) {
volk_16s_permute_and_scalar_add_aligned16_manual(target, src0, permute_indexes, cntl0, cntl1, cntl2, cntl3, scalars, num_bytes, "sse2");
}
end = clock();
-
+
total = (double)(end-start)/(double)CLOCKS_PER_SEC;
printf("permute_and_scalar_add_time: %f\n", total);
-
-
+
+
start = clock();
for(int i = 0; i < num_iters; ++i) {
@@ -78,25 +78,25 @@ void qa_16s_branch_4_state_8_aligned16::t1() {
total = (double)(end-start)/(double)CLOCKS_PER_SEC;
printf("branch_4_state_8_time, ssse3: %f\n", total);
-
+
start = clock();
for(int i = 0; i < num_iters; ++i) {
volk_16s_branch_4_state_8_aligned16_manual(target3, src0, permuters, cntl2, cntl3, scalars, "generic");
}
end = clock();
-
+
total = (double)(end-start)/(double)CLOCKS_PER_SEC;
printf("permute_and_scalar_add_time, generic: %f\n", total);
-
-
-
+
+
+
for(int i = 0; i < vlen; ++i) {
printf("psa... %d, b4s8... %d\n", target[i], target3[i]);
}
-
+
for(int i = 0; i < vlen; ++i) {
-
+
CPPUNIT_ASSERT(target[i] == target2[i]);
CPPUNIT_ASSERT(target[i] == target3[i]);
}
diff --git a/volk/lib/qa_16s_permute_and_scalar_add_aligned16.cc b/volk/lib/qa_16s_permute_and_scalar_add_aligned16.cc
index 3cd4e906d..dadd2c580 100644
--- a/volk/lib/qa_16s_permute_and_scalar_add_aligned16.cc
+++ b/volk/lib/qa_16s_permute_and_scalar_add_aligned16.cc
@@ -16,13 +16,13 @@ void qa_16s_permute_and_scalar_add_aligned16::t1() {
void qa_16s_permute_and_scalar_add_aligned16::t1() {
const int vlen = 64;
-
+
unsigned int num_bytes = vlen << 1;
volk_environment_init();
clock_t start, end;
double total;
-
+
__VOLK_ATTR_ALIGNED(16) short target[vlen];
__VOLK_ATTR_ALIGNED(16) short target2[vlen];
__VOLK_ATTR_ALIGNED(16) short src0[vlen];
@@ -43,7 +43,7 @@ void qa_16s_permute_and_scalar_add_aligned16::t1() {
}
printf("16s_permute_and_scalar_add_aligned\n");
-
+
start = clock();
for(int i = 0; i < 100000; ++i) {
volk_16s_permute_and_scalar_add_aligned16_manual(target, src0, permute_indexes, cntl0, cntl1, cntl2, cntl3, scalars, num_bytes, "generic");
@@ -53,24 +53,24 @@ void qa_16s_permute_and_scalar_add_aligned16::t1() {
total = (double)(end-start)/(double)CLOCKS_PER_SEC;
printf("generic_time: %f\n", total);
-
+
start = clock();
for(int i = 0; i < 100000; ++i) {
volk_16s_permute_and_scalar_add_aligned16_manual(target2, src0, permute_indexes, cntl0, cntl1, cntl2, cntl3, scalars, num_bytes, "sse2");
}
end = clock();
-
+
total = (double)(end-start)/(double)CLOCKS_PER_SEC;
printf("sse2_time: %f\n", total);
-
-
+
+
for(int i = 0; i < vlen; ++i) {
//printf("generic... %d, sse2... %d\n", target[i], target2[i]);
}
-
+
for(int i = 0; i < vlen; ++i) {
-
+
CPPUNIT_ASSERT(target[i] == target2[i]);
}
}
diff --git a/volk/lib/qa_16s_quad_max_star_aligned16.cc b/volk/lib/qa_16s_quad_max_star_aligned16.cc
index 192a69e35..2a5dec44a 100644
--- a/volk/lib/qa_16s_quad_max_star_aligned16.cc
+++ b/volk/lib/qa_16s_quad_max_star_aligned16.cc
@@ -16,7 +16,7 @@ void qa_16s_quad_max_star_aligned16::t1() {
void qa_16s_quad_max_star_aligned16::t1() {
const int vlen = 34;
-
+
__VOLK_ATTR_ALIGNED(16) short input0[vlen];
__VOLK_ATTR_ALIGNED(16) short input1[vlen];
__VOLK_ATTR_ALIGNED(16) short input2[vlen];
@@ -50,9 +50,9 @@ void qa_16s_quad_max_star_aligned16::t1() {
for(int i = 0; i < vlen; ++i) {
printf("generic... %d, sse2... %d, inputs: %d, %d, %d, %d\n", output0[i], output1[i], input0[i], input1[i], input2[i], input3[i]);
}
-
+
for(int i = 0; i < vlen; ++i) {
-
+
CPPUNIT_ASSERT_EQUAL(output0[i], output1[i]);
}
}
diff --git a/volk/lib/qa_32f_fm_detect_aligned16.cc b/volk/lib/qa_32f_fm_detect_aligned16.cc
index a2e7a85be..4e792ec6c 100644
--- a/volk/lib/qa_32f_fm_detect_aligned16.cc
+++ b/volk/lib/qa_32f_fm_detect_aligned16.cc
@@ -15,18 +15,18 @@ void qa_32f_fm_detect_aligned16::t1() {
#else
void qa_32f_fm_detect_aligned16::t1() {
-
+
volk_environment_init();
clock_t start, end;
double total;
const int vlen = 3201;
const int ITERS = 10000;
__VOLK_ATTR_ALIGNED(16) float input0[vlen];
-
+
__VOLK_ATTR_ALIGNED(16) float output0[vlen];
__VOLK_ATTR_ALIGNED(16) float output01[vlen];
- for(int i = 0; i < vlen; ++i) {
+ for(int i = 0; i < vlen; ++i) {
input0[i] = ((float) (rand() - (RAND_MAX/2))) / static_cast<float>((RAND_MAX/2));
}
printf("32f_fm_detect_aligned\n");
@@ -51,7 +51,7 @@ void qa_32f_fm_detect_aligned16::t1() {
//printf("inputs: %d, %d\n", input0[i*2], input0[i*2 + 1]);
//printf("generic... %d, ssse3... %d\n", output0[i], output1[i]);
}
-
+
for(int i = 0; i < vlen; ++i) {
//printf("%d...%d\n", output0[i], output01[i]);
CPPUNIT_ASSERT_DOUBLES_EQUAL(output0[i], output01[i], fabs(output0[i]) * 1e-4);
diff --git a/volk/lib/qa_32f_index_max_aligned16.cc b/volk/lib/qa_32f_index_max_aligned16.cc
index a1c3d4cd1..2df206726 100644
--- a/volk/lib/qa_32f_index_max_aligned16.cc
+++ b/volk/lib/qa_32f_index_max_aligned16.cc
@@ -34,12 +34,12 @@ void qa_32f_index_max_aligned16::t1(){
void qa_32f_index_max_aligned16::t1(){
-
+
const int vlen = VEC_LEN;
-
+
volk_runtime_init();
-
+
volk_environment_init();
int ret;
@@ -47,8 +47,8 @@ void qa_32f_index_max_aligned16::t1(){
unsigned int* target_sse;
unsigned int* target_generic;
float* src0 ;
-
-
+
+
unsigned int i_target_sse4_1;
target_sse4_1 = &i_target_sse4_1;
unsigned int i_target_sse;
@@ -57,20 +57,20 @@ void qa_32f_index_max_aligned16::t1(){
target_generic = &i_target_generic;
ret = posix_memalign((void**)&src0, 16, vlen *sizeof(float));
-
+
random_floats((float*)src0, vlen);
-
+
printf("32f_index_max_aligned16\n");
clock_t start, end;
double total;
-
-
+
+
start = clock();
for(int k = 0; k < NUM_ITERS; ++k) {
volk_32f_index_max_aligned16_manual(target_generic, src0, vlen, "generic");
}
- end = clock();
+ end = clock();
total = (double)(end-start)/(double)CLOCKS_PER_SEC;
printf("generic time: %f\n", total);
@@ -78,25 +78,25 @@ void qa_32f_index_max_aligned16::t1(){
for(int k = 0; k < NUM_ITERS; ++k) {
volk_32f_index_max_aligned16_manual(target_sse, src0, vlen, "sse2");
}
-
- end = clock();
+
+ end = clock();
total = (double)(end-start)/(double)CLOCKS_PER_SEC;
printf("sse time: %f\n", total);
-
+
start = clock();
for(int k = 0; k < NUM_ITERS; ++k) {
get_volk_runtime()->volk_32f_index_max_aligned16(target_sse4_1, src0, vlen);
}
-
- end = clock();
+
+ end = clock();
total = (double)(end-start)/(double)CLOCKS_PER_SEC;
printf("sse4.1 time: %f\n", total);
-
-
+
+
printf("generic: %u, sse: %u, sse4.1: %u\n", target_generic[0], target_sse[0], target_sse4_1[0]);
CPPUNIT_ASSERT_EQUAL(target_generic[0], target_sse[0]);
CPPUNIT_ASSERT_EQUAL(target_generic[0], target_sse4_1[0]);
-
+
free(src0);
}
diff --git a/volk/lib/qa_32fc_index_max_aligned16.cc b/volk/lib/qa_32fc_index_max_aligned16.cc
index 4d83f1639..3859bcb52 100644
--- a/volk/lib/qa_32fc_index_max_aligned16.cc
+++ b/volk/lib/qa_32fc_index_max_aligned16.cc
@@ -33,36 +33,36 @@ void qa_32fc_index_max_aligned16::t1(){
void qa_32fc_index_max_aligned16::t1(){
-
+
const int vlen = VEC_LEN;
-
+
volk_environment_init();
int ret;
-
+
unsigned int* target;
unsigned int* target_generic;
std::complex<float>* src0 ;
-
-
+
+
unsigned int i_target;
target = &i_target;
unsigned int i_target_generic;
target_generic = &i_target_generic;
ret = posix_memalign((void**)&src0, 16, vlen << 3);
-
+
random_floats((float*)src0, vlen * 2);
-
+
printf("32fc_index_max_aligned16\n");
clock_t start, end;
double total;
-
-
+
+
start = clock();
for(int k = 0; k < NUM_ITERS; ++k) {
volk_32fc_index_max_aligned16_manual(target_generic, src0, vlen << 3, "generic");
}
- end = clock();
+ end = clock();
total = (double)(end-start)/(double)CLOCKS_PER_SEC;
printf("generic time: %f\n", total);
@@ -70,19 +70,19 @@ void qa_32fc_index_max_aligned16::t1(){
for(int k = 0; k < NUM_ITERS; ++k) {
volk_32fc_index_max_aligned16_manual(target, src0, vlen << 3, "sse3");
}
-
- end = clock();
+
+ end = clock();
total = (double)(end-start)/(double)CLOCKS_PER_SEC;
printf("sse3 time: %f\n", total);
-
-
-
+
+
+
printf("generic: %u, sse3: %u\n", target_generic[0], target[0]);
CPPUNIT_ASSERT_DOUBLES_EQUAL(target_generic[0], target[0], 1.1);
-
-
+
+
free(src0);
}
diff --git a/volk/lib/qa_32fc_power_spectral_density_32f_aligned16.cc b/volk/lib/qa_32fc_power_spectral_density_32f_aligned16.cc
index 981bb19e6..daca31d9c 100644
--- a/volk/lib/qa_32fc_power_spectral_density_32f_aligned16.cc
+++ b/volk/lib/qa_32fc_power_spectral_density_32f_aligned16.cc
@@ -15,14 +15,14 @@ void qa_32fc_power_spectral_density_32f_aligned16::t1() {
#else
void qa_32fc_power_spectral_density_32f_aligned16::t1() {
-
+
volk_environment_init();
clock_t start, end;
double total;
const int vlen = 3201;
const int ITERS = 10000;
__VOLK_ATTR_ALIGNED(16) std::complex<float> input0[vlen];
-
+
__VOLK_ATTR_ALIGNED(16) float output_generic[vlen];
__VOLK_ATTR_ALIGNED(16) float output_sse3[vlen];
@@ -30,7 +30,7 @@ void qa_32fc_power_spectral_density_32f_aligned16::t1() {
const float rbw = 1.7;
float* inputLoad = (float*)input0;
- for(int i = 0; i < 2*vlen; ++i) {
+ for(int i = 0; i < 2*vlen; ++i) {
inputLoad[i] = (((float) (rand() - (RAND_MAX/2))) / static_cast<float>((RAND_MAX/2)));
}
printf("32fc_power_spectral_density_32f_aligned\n");
@@ -54,7 +54,7 @@ void qa_32fc_power_spectral_density_32f_aligned16::t1() {
//printf("inputs: %d, %d\n", input0[i*2], input0[i*2 + 1]);
//printf("generic... %d, ssse3... %d\n", output0[i], output1[i]);
}
-
+
for(int i = 0; i < vlen; ++i) {
//printf("%d...%d\n", output0[i], output01[i]);
CPPUNIT_ASSERT_DOUBLES_EQUAL(output_generic[i], output_sse3[i], fabs(output_generic[i]*1e-4));
diff --git a/volk/lib/qa_32fc_x2_conjugate_dot_prod_32fc_u.cc b/volk/lib/qa_32fc_x2_conjugate_dot_prod_32fc_u.cc
index fefdf06ee..b825c20e4 100644
--- a/volk/lib/qa_32fc_x2_conjugate_dot_prod_32fc_u.cc
+++ b/volk/lib/qa_32fc_x2_conjugate_dot_prod_32fc_u.cc
@@ -7,7 +7,7 @@
#define assertcomplexEqual(expected, actual, delta) \
CPPUNIT_ASSERT_DOUBLES_EQUAL (std::real(expected), std::real(actual), fabs(std::real(expected)) * delta); \
- CPPUNIT_ASSERT_DOUBLES_EQUAL (std::imag(expected), std::imag(actual), fabs(std::imag(expected))* delta);
+ CPPUNIT_ASSERT_DOUBLES_EQUAL (std::imag(expected), std::imag(actual), fabs(std::imag(expected))* delta);
#define ERR_DELTA (1e-4)
@@ -35,7 +35,7 @@ void qa_32fc_x2_conjugate_dot_prod_32fc_u::t1() {
std::complex<float>* input;
std::complex<float>* taps;
-
+
std::complex<float>* result_generic;
std::complex<float>* result;
@@ -43,19 +43,19 @@ void qa_32fc_x2_conjugate_dot_prod_32fc_u::t1() {
ret = posix_memalign((void**)&taps, 16, vlen << 3);
ret = posix_memalign((void**)&result_generic, 16, 8);
ret = posix_memalign((void**)&result, 16, 8);
-
+
result_generic[0] = std::complex<float>(0,0);
result[0] = std::complex<float>(0,0);
random_floats((float*)input, vlen * 2);
random_floats((float*)taps, vlen * 2);
-
-
+
+
volk_32fc_x2_conjugate_dot_prod_32fc_u_manual(result_generic, input, taps, vlen * 8, "generic");
-
+
volk_32fc_x2_conjugate_dot_prod_32fc_u_manual(result, input, taps, vlen * 8, "sse");
printf("32fc_x2_conjugate_dot_prod_32fc_u\n");
@@ -67,7 +67,7 @@ void qa_32fc_x2_conjugate_dot_prod_32fc_u::t1() {
free(taps);
free(result_generic);
free(result);
-
+
}
@@ -87,13 +87,13 @@ random_floats (float *buf, unsigned n)
void qa_32fc_x2_conjugate_dot_prod_32fc_u::t1() {
const int vlen = 789743;
-
+
volk_environment_init();
int ret;
std::complex<float>* input;
std::complex<float>* taps;
-
+
std::complex<float>* result_generic;
std::complex<float>* result;
@@ -101,19 +101,19 @@ void qa_32fc_x2_conjugate_dot_prod_32fc_u::t1() {
ret = posix_memalign((void**)&taps, 16, vlen << 3);
ret = posix_memalign((void**)&result_generic, 16, 8);
ret = posix_memalign((void**)&result, 16, 8);
-
+
result_generic[0] = std::complex<float>(0,0);
result[0] = std::complex<float>(0,0);
random_floats((float*)input, vlen * 2);
random_floats((float*)taps, vlen * 2);
-
-
+
+
volk_32fc_x2_conjugate_dot_prod_32fc_u_manual(result_generic, input, taps, vlen * 8, "generic");
-
+
volk_32fc_x2_conjugate_dot_prod_32fc_u_manual(result, input, taps, vlen * 8, "sse_32");
printf("32fc_x2_conjugate_dot_prod_32fc_u\n");
@@ -125,7 +125,7 @@ void qa_32fc_x2_conjugate_dot_prod_32fc_u::t1() {
free(taps);
free(result_generic);
free(result);
-
+
}
diff --git a/volk/lib/qa_32u_popcnt_aligned16.cc b/volk/lib/qa_32u_popcnt_aligned16.cc
index c880260f2..5559d933d 100644
--- a/volk/lib/qa_32u_popcnt_aligned16.cc
+++ b/volk/lib/qa_32u_popcnt_aligned16.cc
@@ -16,8 +16,8 @@ void qa_32u_popcnt_aligned16::t1() {
#else
void qa_32u_popcnt_aligned16::t1() {
-
-
+
+
volk_runtime_init();
volk_environment_init();
@@ -26,7 +26,7 @@ void qa_32u_popcnt_aligned16::t1() {
const int ITERS = 10000000;
__VOLK_ATTR_ALIGNED(16) uint32_t input0;
-
+
__VOLK_ATTR_ALIGNED(16) uint32_t output0;
__VOLK_ATTR_ALIGNED(16) uint32_t output01;
@@ -55,7 +55,7 @@ void qa_32u_popcnt_aligned16::t1() {
total = (double)(end-start)/(double)CLOCKS_PER_SEC;
printf("sse4.2_time: %f\n", total);
-
+
CPPUNIT_ASSERT_EQUAL(output0, output01);
}
diff --git a/volk/lib/qa_64u_popcnt_aligned16.cc b/volk/lib/qa_64u_popcnt_aligned16.cc
index 6be4e50ea..391601f22 100644
--- a/volk/lib/qa_64u_popcnt_aligned16.cc
+++ b/volk/lib/qa_64u_popcnt_aligned16.cc
@@ -16,8 +16,8 @@ void qa_64u_popcnt_aligned16::t1() {
#else
void qa_64u_popcnt_aligned16::t1() {
-
-
+
+
volk_runtime_init();
volk_environment_init();
@@ -26,7 +26,7 @@ void qa_64u_popcnt_aligned16::t1() {
const int ITERS = 10000000;
__VOLK_ATTR_ALIGNED(16) uint64_t input0;
-
+
__VOLK_ATTR_ALIGNED(16) uint64_t output0;
__VOLK_ATTR_ALIGNED(16) uint64_t output01;
@@ -55,7 +55,7 @@ void qa_64u_popcnt_aligned16::t1() {
total = (double)(end-start)/(double)CLOCKS_PER_SEC;
printf("sse4.2_time: %f\n", total);
-
+
CPPUNIT_ASSERT_EQUAL(output0, output01);
}
diff --git a/volk/lib/qa_utils.cc b/volk/lib/qa_utils.cc
index bb37801c9..c15979b3f 100644
--- a/volk/lib/qa_utils.cc
+++ b/volk/lib/qa_utils.cc
@@ -46,7 +46,7 @@ void load_random_data(void *data, volk_type_t type, unsigned int n) {
case 4:
if(type.is_signed) ((int32_t *)data)[i] = (int32_t) scaled_rand;
else ((uint32_t *)data)[i] = (uint32_t) scaled_rand;
- break;
+ break;
case 2:
if(type.is_signed) ((int16_t *)data)[i] = (int16_t) scaled_rand;
else ((uint16_t *)data)[i] = (uint16_t) scaled_rand;
@@ -69,7 +69,7 @@ static std::vector<std::string> get_arch_list(struct volk_func_desc desc) {
//if(!(archs[i+1] & volk_get_lvarch())) continue; //this arch isn't available on this pc
archlist.push_back(std::string(desc.indices[i]));
}
-
+
return archlist;
}
@@ -81,15 +81,15 @@ volk_type_t volk_type_from_string(std::string name) {
type.is_signed = false;
type.size = 0;
type.str = name;
-
+
if(name.size() < 2) throw std::string("name too short to be a datatype");
-
+
//is it a scalar?
- if(name[0] == 's') {
+ if(name[0] == 's') {
type.is_scalar = true;
name = name.substr(1, name.size()-1);
}
-
+
//get the data size
size_t last_size_pos = name.find_last_of("0123456789");
if(last_size_pos < 0) throw std::string("no size spec in type ").append(name);
@@ -98,7 +98,7 @@ volk_type_t volk_type_from_string(std::string name) {
assert(((size % 8) == 0) && (size <= 64) && (size != 0));
type.size = size/8; //in bytes
-
+
for(size_t i=last_size_pos+1; i < name.size(); i++) {
switch (name[i]) {
case 'f':
@@ -117,19 +117,19 @@ volk_type_t volk_type_from_string(std::string name) {
throw;
}
}
-
+
return type;
}
-static void get_signatures_from_name(std::vector<volk_type_t> &inputsig,
- std::vector<volk_type_t> &outputsig,
+static void get_signatures_from_name(std::vector<volk_type_t> &inputsig,
+ std::vector<volk_type_t> &outputsig,
std::string name) {
boost::char_separator<char> sep("_");
boost::tokenizer<boost::char_separator<char> > tok(name, sep);
std::vector<std::string> toked;
tok.assign(name);
toked.assign(tok.begin(), tok.end());
-
+
assert(toked[0] == "volk");
toked.erase(toked.begin());
@@ -143,7 +143,7 @@ static void get_signatures_from_name(std::vector<volk_type_t> &inputsig,
try {
type = volk_type_from_string(token);
if(side == SIDE_NAME) side = SIDE_OUTPUT; //if this is the first one after the name...
-
+
if(side == SIDE_INPUT) inputsig.push_back(type);
else outputsig.push_back(type);
} catch (...){
@@ -160,7 +160,7 @@ static void get_signatures_from_name(std::vector<volk_type_t> &inputsig,
side = SIDE_NAME;
fn_name.append("_");
fn_name.append(token);
- }
+ }
else if(side == SIDE_OUTPUT) {
if(token != toked.back()) throw; //the last token in the name is the alignment
}
@@ -223,7 +223,7 @@ bool fcompare(t *in1, t *in2, unsigned int vlen, float tol) {
}
}
}
-
+
return fail;
}
@@ -239,7 +239,7 @@ bool icompare(t *in1, t *in2, unsigned int vlen, unsigned int tol) {
}
}
}
-
+
return fail;
}
@@ -264,10 +264,10 @@ bool run_volk_tests(struct volk_func_desc desc,
std::vector<std::string> *best_arch_vector = 0
) {
std::cout << "RUN_VOLK_TESTS: " << name << std::endl;
-
+
//first let's get a list of available architectures for the test
std::vector<std::string> arch_list = get_arch_list(desc);
-
+
if(arch_list.size() < 2) {
std::cout << "no architectures to test" << std::endl;
return false;
@@ -279,7 +279,7 @@ bool run_volk_tests(struct volk_func_desc desc,
//now we have to get a function signature by parsing the name
std::vector<volk_type_t> inputsig, outputsig;
get_signatures_from_name(inputsig, outputsig, name);
-
+
//pull the input scalars into their own vector
std::vector<volk_type_t> inputsc;
for(size_t i=0; i<inputsig.size(); i++) {
@@ -299,7 +299,7 @@ bool run_volk_tests(struct volk_func_desc desc,
for(size_t i=0; i<inbuffs.size(); i++) {
load_random_data(inbuffs[i], inputsig[i], vlen);
}
-
+
//ok let's make a vector of vector of void buffers, which holds the input/output vectors for each arch
std::vector<std::vector<void *> > test_data;
for(size_t i=0; i<arch_list.size(); i++) {
@@ -312,7 +312,7 @@ bool run_volk_tests(struct volk_func_desc desc,
}
test_data.push_back(arch_buffs);
}
-
+
std::vector<volk_type_t> both_sigs;
both_sigs.insert(both_sigs.end(), outputsig.begin(), outputsig.end());
both_sigs.insert(both_sigs.end(), inputsig.begin(), inputsig.end());
@@ -326,7 +326,7 @@ bool run_volk_tests(struct volk_func_desc desc,
switch(both_sigs.size()) {
case 1:
if(inputsc.size() == 0) {
- run_cast_test1((volk_fn_1arg)(manual_func), test_data[i], vlen, iter, arch_list[i]);
+ run_cast_test1((volk_fn_1arg)(manual_func), test_data[i], vlen, iter, arch_list[i]);
} else if(inputsc.size() == 1 && inputsc[0].is_float) {
if(inputsc[0].is_complex) {
run_cast_test1_s32fc((volk_fn_1arg_s32fc)(manual_func), test_data[i], scalar, vlen, iter, arch_list[i]);
@@ -364,23 +364,23 @@ bool run_volk_tests(struct volk_func_desc desc,
throw "no function handler for this signature";
break;
}
-
+
end = clock();
double arch_time = (double)(end-start)/(double)CLOCKS_PER_SEC;
std::cout << arch_list[i] << " completed in " << arch_time << "s" << std::endl;
profile_times.push_back(arch_time);
}
-
+
//and now compare each output to the generic output
//first we have to know which output is the generic one, they aren't in order...
size_t generic_offset=0;
- for(size_t i=0; i<arch_list.size(); i++)
+ for(size_t i=0; i<arch_list.size(); i++)
if(arch_list[i] == "generic") generic_offset=i;
//now compare
//if(outputsig.size() == 0) outputsig = inputsig; //a hack, i know
-
+
bool fail = false;
bool fail_global = false;
std::vector<bool> arch_results;
@@ -438,7 +438,7 @@ bool run_volk_tests(struct volk_func_desc desc,
}
arch_results.push_back(!fail);
}
-
+
double best_time = std::numeric_limits<double>::max();
std::string best_arch = "generic";
for(size_t i=0; i < arch_list.size(); i++) {
@@ -447,7 +447,7 @@ bool run_volk_tests(struct volk_func_desc desc,
best_arch = arch_list[i];
}
}
-
+
std::cout << "Best arch: " << best_arch << std::endl;
if(best_arch_vector) {
best_arch_vector->push_back(name + std::string(" ") + best_arch);
diff --git a/volk/lib/volk_prefs.c b/volk/lib/volk_prefs.c
index 7e705bed4..5e5c9dfff 100644
--- a/volk/lib/volk_prefs.c
+++ b/volk/lib/volk_prefs.c
@@ -26,7 +26,7 @@ int load_preferences(struct volk_arch_pref **prefs) {
char path[512], line[512], function[128], arch[32];
int n_arch_prefs = 0;
struct volk_arch_pref *t_pref;
-
+
//get the config path
get_config_path(path);
if (path == NULL) return n_arch_prefs; //no prefs found
diff --git a/volk/lib/volk_rank_archs.c b/volk/lib/volk_rank_archs.c
index 4baa078bc..865d60955 100644
--- a/volk/lib/volk_rank_archs.c
+++ b/volk/lib/volk_rank_archs.c
@@ -26,14 +26,14 @@ unsigned int volk_rank_archs(const char *indices[], const int* arch_defs, unsign
n_arch_prefs = load_preferences(&volk_arch_prefs);
prefs_loaded = 1;
}
-
+
//now look for the function name in the prefs list
for(i=0; i < n_arch_prefs; i++) {
if(!strncmp(name, volk_arch_prefs[i].name, 128)) { //found it
return get_index(indices, n_archs, volk_arch_prefs[i].arch);
}
}
-
+
for(i=1; i < n_archs; ++i) {
if((arch_defs[i]&(!arch)) == 0) {
best_val = (arch_defs[i] > arch_defs[best_val + 1]) ? i-1 : best_val;
diff --git a/volk/libvector_replace.sh b/volk/libvector_replace.sh
index 4c7e33e1b..e1940c00f 100755
--- a/volk/libvector_replace.sh
+++ b/volk/libvector_replace.sh
@@ -2,8 +2,8 @@
cd $1
files=`ls`
-for file in $files
-do
+for file in $files
+do
sed 's/libvector/volk/g' < $file > tempfile
sed 's/LIBVECTOR/VOLK/g' < tempfile > $file
done
diff --git a/volk/msvc/inttypes.h b/volk/msvc/inttypes.h
index 1c2baa82e..0a1b60fc1 100644
--- a/volk/msvc/inttypes.h
+++ b/volk/msvc/inttypes.h
@@ -1,32 +1,32 @@
// ISO C9x compliant inttypes.h for Microsoft Visual Studio
-// Based on ISO/IEC 9899:TC2 Committee draft (May 6, 2005) WG14/N1124
-//
+// Based on ISO/IEC 9899:TC2 Committee draft (May 6, 2005) WG14/N1124
+//
// Copyright (c) 2006 Alexander Chemeris
-//
+//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are met:
-//
+//
// 1. Redistributions of source code must retain the above copyright notice,
// this list of conditions and the following disclaimer.
-//
+//
// 2. Redistributions in binary form must reproduce the above copyright
// notice, this list of conditions and the following disclaimer in the
// documentation and/or other materials provided with the distribution.
-//
+//
// 3. The name of the author may be used to endorse or promote products
// derived from this software without specific prior written permission.
-//
+//
// THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
// WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
// MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
// EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
-// OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+// OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
// WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
// OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-//
+//
///////////////////////////////////////////////////////////////////////////////
#ifndef _MSC_VER // [
diff --git a/volk/msvc/stdint.h b/volk/msvc/stdint.h
index ab6d37e11..108bc8982 100644
--- a/volk/msvc/stdint.h
+++ b/volk/msvc/stdint.h
@@ -1,32 +1,32 @@
// ISO C9x compliant stdint.h for Microsoft Visual Studio
-// Based on ISO/IEC 9899:TC2 Committee draft (May 6, 2005) WG14/N1124
-//
+// Based on ISO/IEC 9899:TC2 Committee draft (May 6, 2005) WG14/N1124
+//
// Copyright (c) 2006-2008 Alexander Chemeris
-//
+//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are met:
-//
+//
// 1. Redistributions of source code must retain the above copyright notice,
// this list of conditions and the following disclaimer.
-//
+//
// 2. Redistributions in binary form must reproduce the above copyright
// notice, this list of conditions and the following disclaimer in the
// documentation and/or other materials provided with the distribution.
-//
+//
// 3. The name of the author may be used to endorse or promote products
// derived from this software without specific prior written permission.
-//
+//
// THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
// WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
// MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
// EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
-// OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+// OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
// WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
// OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-//
+//
///////////////////////////////////////////////////////////////////////////////
#ifndef _MSC_VER // [
diff --git a/volk/orc/.gitignore b/volk/orc/.gitignore
deleted file mode 100644
index b336cc7ce..000000000
--- a/volk/orc/.gitignore
+++ /dev/null
@@ -1,2 +0,0 @@
-/Makefile
-/Makefile.in
diff --git a/volk/orc/Makefile.am b/volk/orc/Makefile.am
deleted file mode 100644
index fddcae372..000000000
--- a/volk/orc/Makefile.am
+++ /dev/null
@@ -1,57 +0,0 @@
-#
-# Copyright 2008 Free Software Foundation, Inc.
-#
-# This file is part of GNU Radio
-#
-# GNU Radio is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 3, or (at your option)
-# any later version.
-#
-# GNU Radio is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License along
-# with this program; if not, write to the Free Software Foundation, Inc.,
-# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
-#
-
-AM_CPPFLAGS = $(STD_DEFINES_AND_INCLUDES) $(ORC_CFLAGS)
-
-include $(top_srcdir)/Makefile.common
-noinst_LTLIBRARIES = libvolk_orc.la
-libvolk_orc_la_LDFLAGS = $(ORC_LDFLAGS)
-
-libvolk_orc_la_SOURCES = \
-volk_8i_convert_16i_a_orc_impl.orc \
-volk_8i_s32f_convert_32f_a_orc_impl.orc \
-volk_16u_byteswap_a_orc_impl.orc \
-volk_32i_x2_and_32i_a_orc_impl.orc \
-volk_32i_x2_or_32i_a_orc_impl.orc \
-volk_32f_x2_add_32f_a_orc_impl.orc \
-volk_32f_x2_subtract_32f_a_orc_impl.orc \
-volk_32f_x2_divide_32f_a_orc_impl.orc \
-volk_32f_x2_multiply_32f_a_orc_impl.orc \
-volk_32fc_x2_multiply_32fc_a_orc_impl.orc \
-volk_32fc_32f_multiply_32fc_a_orc_impl.orc \
-volk_32f_sqrt_32f_a_orc_impl.orc \
-volk_32f_x2_max_32f_a_orc_impl.orc \
-volk_32f_x2_min_32f_a_orc_impl.orc \
-volk_32f_s32f_normalize_a_orc_impl.orc \
-volk_32fc_magnitude_32f_a_orc_impl.orc \
-volk_32fc_s32f_magnitude_16i_a_orc_impl.orc \
-volk_16ic_magnitude_16i_a_orc_impl.orc \
-volk_16ic_deinterleave_16i_x2_a_orc_impl.orc \
-volk_16i_s32f_deinterleave_32f_x2_a_orc_impl.orc \
-volk_16ic_deinterleave_real_8i_a_orc_impl.orc \
-volk_32fc_s32fc_multiply_32fc_a_orc_impl.orc \
-volk_32f_s32f_multiply_32f_a_orc_impl.orc
-
-
-
-my_ORCC_FLAGS = --implementation $(ORCC_FLAGS)
-
-.orc.c:
- $(ORCC) $(my_ORCC_FLAGS) -o $@ $<
diff --git a/volk/python/Makefile.am b/volk/python/Makefile.am
deleted file mode 100644
index 8519a102a..000000000
--- a/volk/python/Makefile.am
+++ /dev/null
@@ -1,40 +0,0 @@
-#
-# Copyright 2010 Free Software Foundation, Inc.
-#
-# This file is part of GNU Radio
-#
-# GNU Radio is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 3, or (at your option)
-# any later version.
-#
-# GNU Radio is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License along
-# with this program; if not, write to the Free Software Foundation, Inc.,
-# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
-#
-
-include $(top_srcdir)/Makefile.common
-
-AM_CPPFLAGS = $(STD_DEFINES_AND_INCLUDES) $(PYTHON_CPPFLAGS)
-SWIGPYTHONARGS = $(SWIGPYTHONFLAGS) $(SWIGGRFLAGS)
-
-BUILT_SOURCES = $(swig_built_sources)
-
-MOSTLYCLEANFILES = $(BUILT_SOURCES) *.pyc
-
-# Don't distribute the output of swig
-dist-hook:
- @for file in $(swig_built_sources); do echo $(RM) $(distdir)/$$file; done
- @for file in $(swig_built_sources); do $(RM) $(distdir)/$$file; done
-
-
-# Set the install location of any python scripts to /volk
-volkpythondir = $(pythondir)/volk
-
-volkpython_PYTHON = \
- __init__.py
diff --git a/volk/python/__init__.py b/volk/python/__init__.py
index 7239e7e23..7c9c4a0c6 100644
--- a/volk/python/__init__.py
+++ b/volk/python/__init__.py
@@ -1,18 +1,18 @@
#
# Copyright 2010 Free Software Foundation, Inc.
-#
+#
# This file is part of GNU Radio
-#
+#
# GNU Radio is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 3, or (at your option)
# any later version.
-#
+#
# GNU Radio is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
-#
+#
# You should have received a copy of the GNU General Public License along
# with this program; if not, write to the Free Software Foundation, Inc.,
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
@@ -31,7 +31,7 @@ except ImportError:
from DLFCN import RTLD_GLOBAL as _RTLD_GLOBAL
except ImportError:
pass
-
+
if _RTLD_GLOBAL != 0:
_dlopenflags = sys.getdlopenflags()
sys.setdlopenflags(_dlopenflags|_RTLD_GLOBAL)
diff --git a/volk/python/qa_square.py b/volk/python/qa_square.py
index 53f0433ca..c74bc25ef 100755
--- a/volk/python/qa_square.py
+++ b/volk/python/qa_square.py
@@ -1,24 +1,24 @@
#!/usr/bin/env python
#
# Copyright 2010 Free Software Foundation, Inc.
-#
+#
# This file is part of GNU Radio
-#
+#
# GNU Radio is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 3, or (at your option)
# any later version.
-#
+#
# GNU Radio is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
-#
+#
# You should have received a copy of the GNU General Public License
# along with GNU Radio; see the file COPYING. If not, write to
# the Free Software Foundation, Inc., 51 Franklin Street,
# Boston, MA 02110-1301, USA.
-#
+#
from gnuradio import gr, gr_unittest
import volk_swig as volk
@@ -42,6 +42,6 @@ class qa_volk(gr_unittest.TestCase):
self.tb.run()
result_data = dst.data()
self.assertFloatTuplesAlmostEqual(expected_result, result_data, 6)
-
+
if __name__ == '__main__':
gr_unittest.main()
diff --git a/volk/python/run_tests.in b/volk/python/run_tests.in
deleted file mode 100644
index 895a849bd..000000000
--- a/volk/python/run_tests.in
+++ /dev/null
@@ -1,50 +0,0 @@
-#!/bin/sh
-
-# All this strange PYTHONPATH manipulation is required to run our
-# tests using our just built shared library and swig-generated python
-# code prior to installation.
-
-# build tree == src tree unless you're doing a VPATH build.
-# If you don't know what a VPATH build is, you're not doing one. Relax...
-
-prefix=@prefix@
-exec_prefix=@exec_prefix@
-
-# Where to look in the build tree for our shared library
-libbld=@abs_top_builddir@/python
-# Where to look in the src tree for swig generated python code
-libsrc=@abs_top_builddir@/python
-# Where to look in the src tree for hand written python code
-py=@abs_top_srcdir@/python
-
-# Where to look for installed GNU Radio python modules
-# FIXME this is wrong on a distcheck. We really need to ask gnuradio-core
-# where it put its python files.
-installed_pythondir=@pythondir@
-installed_pyexecdir=@pyexecdir@
-
-PYTHONPATH="$libbld:$libbld/.libs:$libsrc:$py:$installed_pythondir:$installed_pyexecdir:$PYTHONPATH"
-#PYTHONPATH="$libbld:$libbld/.libs:$libsrc:$py:$installed_pythondir:$installed_pyexecdir"
-
-export PYTHONPATH
-
-#
-# This is the simple part...
-# Run everything that matches qa_*.py and return the final result.
-#
-
-ok=yes
-for file in @srcdir@/qa_*.py
-do
- if ! $file
- then
- ok=no
- fi
-done
-
-if [ $ok = yes ]
-then
- exit 0
-else
- exit 1
-fi
diff --git a/volk/python/volk.i b/volk/python/volk.i
index ea3a037ba..d678a9120 100644
--- a/volk/python/volk.i
+++ b/volk/python/volk.i
@@ -1,19 +1,19 @@
/* -*- c++ -*- */
/*
* Copyright 2010 Free Software Foundation, Inc.
- *
+ *
* This file is part of GNU Radio
- *
+ *
* GNU Radio is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 3, or (at your option)
* any later version.
- *
+ *
* GNU Radio is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
- *
+ *
* You should have received a copy of the GNU General Public License along
* with this program; if not, write to the Free Software Foundation, Inc.,
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
diff --git a/volk/python/volk_square_ff.i b/volk/python/volk_square_ff.i
index 1d485bd7e..5456c81fd 100644
--- a/volk/python/volk_square_ff.i
+++ b/volk/python/volk_square_ff.i
@@ -1,19 +1,19 @@
/* -*- c++ -*- */
/*
* Copyright 2010 Free Software Foundation, Inc.
- *
+ *
* This file is part of GNU Radio
- *
+ *
* GNU Radio is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 3, or (at your option)
* any later version.
- *
+ *
* GNU Radio is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
- *
+ *
* You should have received a copy of the GNU General Public License along
* with this program; if not, write to the Free Software Foundation, Inc.,
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
diff --git a/volk/spu_lib/gc_spu_macs.h b/volk/spu_lib/gc_spu_macs.h
index 8e3e3f2a6..e86dce3f5 100644
--- a/volk/spu_lib/gc_spu_macs.h
+++ b/volk/spu_lib/gc_spu_macs.h
@@ -1,19 +1,19 @@
/* -*- asm -*- */
/*
* Copyright 2008 Free Software Foundation, Inc.
- *
+ *
* This file is part of GNU Radio
- *
+ *
* GNU Radio is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 3, or (at your option)
* any later version.
- *
+ *
* GNU Radio is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
- *
+ *
* You should have received a copy of the GNU General Public License along
* with this program; if not, write to the Free Software Foundation, Inc.,
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
@@ -279,7 +279,7 @@ name:
iluh _gc_t0, 4*(s)*0x0101 + 0x0001; \
iohl _gc_t0, 4*(s)*0x0101 + 0x0203; \
shufb rt, ra, ra, _gc_t0;
-
+
// replicate double from slot s [0,1]
#define VSPLTD(rt, ra, s) \
/* sp is always 16-byte aligned */ \
@@ -301,13 +301,13 @@ name:
#define MIN_SELB(rt, ra, rb, rc) selb rt, ra, rb, rc;
#define MAX_SELB(rt, ra, rb, rc) selb rt, rb, ra, rc;
-
+
// words
#define MIN(rt, ra, rb) \
cgt _gc_t0, ra, rb; \
MIN_SELB(rt, ra, rb, _gc_t0)
-
+
#define MAX(rt, ra, rb) \
cgt _gc_t0, ra, rb; \
MAX_SELB(rt, ra, rb, _gc_t0)
@@ -315,17 +315,17 @@ name:
#define UMIN(rt, ra, rb) \
clgt _gc_t0, ra, rb; \
MIN_SELB(rt, ra, rb, _gc_t0)
-
+
#define UMAX(rt, ra, rb) \
clgt _gc_t0, ra, rb; \
MAX_SELB(rt, ra, rb, _gc_t0)
// bytes
-
+
#define MINB(rt, ra, rb) \
cgtb _gc_t0, ra, rb; \
MIN_SELB(rt, ra, rb, _gc_t0)
-
+
#define MAXB(rt, ra, rb) \
cgtb _gc_t0, ra, rb; \
MAX_SELB(rt, ra, rb, _gc_t0)
@@ -333,17 +333,17 @@ name:
#define UMINB(rt, ra, rb) \
clgtb _gc_t0, ra, rb; \
MIN_SELB(rt, ra, rb, _gc_t0)
-
+
#define UMAXB(rt, ra, rb) \
clgtb _gc_t0, ra, rb; \
MAX_SELB(rt, ra, rb, _gc_t0)
// halfwords
-
+
#define MINH(rt, ra, rb) \
cgth _gc_t0, ra, rb; \
MIN_SELB(rt, ra, rb, _gc_t0)
-
+
#define MAXH(rt, ra, rb) \
cgth _gc_t0, ra, rb; \
MAX_SELB(rt, ra, rb, _gc_t0)
@@ -351,17 +351,17 @@ name:
#define UMINH(rt, ra, rb) \
clgth _gc_t0, ra, rb; \
MIN_SELB(rt, ra, rb, _gc_t0)
-
+
#define UMAXH(rt, ra, rb) \
clgth _gc_t0, ra, rb; \
MAX_SELB(rt, ra, rb, _gc_t0)
// floats
-
+
#define FMIN(rt, ra, rb) \
fcgt _gc_t0, ra, rb; \
MIN_SELB(rt, ra, rb, _gc_t0)
-
+
#define FMAX(rt, ra, rb) \
fcgt _gc_t0, ra, rb; \
MAX_SELB(rt, ra, rb, _gc_t0)
@@ -370,7 +370,7 @@ name:
#define FMINMAG(rt, ra, rb) \
fcmgt _gc_t0, ra, rb; \
MIN_SELB(rt, ra, rb, _gc_t0)
-
+
// Ignoring the sign, select the values with the maximum magnitude
#define FMAXMAG(rt, ra, rb) \
fcmgt _gc_t0, ra, rb; \
diff --git a/volk/spu_lib/spu_16s_cmpgt_unaligned.c b/volk/spu_lib/spu_16s_cmpgt_unaligned.c
index 765cacd9a..8811e6801 100644
--- a/volk/spu_lib/spu_16s_cmpgt_unaligned.c
+++ b/volk/spu_lib/spu_16s_cmpgt_unaligned.c
@@ -4,14 +4,14 @@ void* libvector_16s_cmpgt_unaligned(void* target, void* src, signed short val, u
//loop iterator i
int i = 0;
void* retval = target;
-
+
//put the target and source addresses into qwords
vector unsigned int address_counter_tgt = {(unsigned int)target, 0, 0, 0};
vector unsigned int address_counter_src = {(unsigned int)src, 0, 0 ,0};
-
+
//create shuffle masks
-
+
//shuffle mask building blocks:
//all from the first vector
vector unsigned char oneup = {0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
@@ -19,9 +19,9 @@ void* libvector_16s_cmpgt_unaligned(void* target, void* src, signed short val, u
//all from the second vector
vector unsigned char second_oneup = {0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17,
0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f};
-
-
+
+
//gamma: second half of the second, first half of the first, break at (unsigned int)src%16
vector unsigned char src_cmp = spu_splats((unsigned char)((unsigned int)src%16));
vector unsigned char gt_res = spu_cmpgt(oneup, src_cmp);
@@ -29,16 +29,16 @@ void* libvector_16s_cmpgt_unaligned(void* target, void* src, signed short val, u
vector unsigned char cmp_res = spu_or(gt_res, eq_res);
vector unsigned char sixteen_uchar = spu_splats((unsigned char)16);
vector unsigned char phase_change = spu_and(sixteen_uchar, cmp_res);
- vector unsigned int shuffle_mask_gamma = spu_add((vector unsigned int)phase_change,
+ vector unsigned int shuffle_mask_gamma = spu_add((vector unsigned int)phase_change,
(vector unsigned int)oneup);
shuffle_mask_gamma = spu_rlqwbyte(shuffle_mask_gamma, (unsigned int)src%16);
-
-
+
+
vector unsigned char tgt_second = spu_rlqwbyte(second_oneup, -((unsigned int)target%16));
vector unsigned char tgt_first = spu_rlqwbyte(oneup, -((unsigned int)target%16));
-
+
//alpha: first half of first, second half of second, break at (unsigned int)target%16
src_cmp = spu_splats((unsigned char)((unsigned int)target%16));
gt_res = spu_cmpgt(oneup, src_cmp);
@@ -47,13 +47,13 @@ void* libvector_16s_cmpgt_unaligned(void* target, void* src, signed short val, u
phase_change = spu_and(sixteen_uchar, cmp_res);
vector unsigned int shuffle_mask_alpha = spu_add((vector unsigned int)phase_change,
(vector unsigned int)oneup);
-
+
//delta: first half of first, first half of second, break at (unsigned int)target%16
vector unsigned char shuffle_mask_delta = spu_shuffle(oneup, tgt_second, (vector unsigned char)shuffle_mask_alpha);
//epsilon: second half of second, second half of first, break at (unsigned int)target%16
vector unsigned char shuffle_mask_epsilon = spu_shuffle(tgt_second, oneup, (vector unsigned char)shuffle_mask_alpha);
//zeta: second half of second, first half of first, break at 16 - (unsigned int)target%16
- vector unsigned int shuffle_mask_zeta = spu_rlqwbyte(shuffle_mask_alpha, (unsigned int)target%16);
+ vector unsigned int shuffle_mask_zeta = spu_rlqwbyte(shuffle_mask_alpha, (unsigned int)target%16);
//beta: first half of first, second half of second, break at num_bytes%16
src_cmp = spu_splats((unsigned char)(num_bytes%16));
@@ -63,17 +63,17 @@ void* libvector_16s_cmpgt_unaligned(void* target, void* src, signed short val, u
phase_change = spu_and(sixteen_uchar, cmp_res);
vector unsigned int shuffle_mask_beta = spu_add((vector unsigned int)phase_change,
(vector unsigned int)oneup);
-
-
-
-
+
+
+
+
qword src_past;
qword src_present;
qword tgt_past;
qword tgt_present;
-
+
qword in_temp;
qword out_temp0;
qword out_temp1;
@@ -85,53 +85,53 @@ void* libvector_16s_cmpgt_unaligned(void* target, void* src, signed short val, u
vector unsigned short compare;
vector unsigned short ones = {1, 1, 1, 1, 1, 1, 1, 1};
vector unsigned short after_and;
-
+
for(i = 0; i < num_bytes/16; ++i) {
-
+
src_present = si_lqd((qword)address_counter_src, 16);
tgt_present = si_lqd((qword)address_counter_tgt, 16);
-
+
in_temp = spu_shuffle(src_present, src_past, (vector unsigned char)shuffle_mask_gamma);
compare = spu_cmpgt((vector signed short) in_temp, vec_val);
after_and = spu_and(compare, ones);
-
-
+
+
out_temp0 = spu_shuffle(tgt_past, (qword)after_and, shuffle_mask_delta);
out_temp1 = spu_shuffle(tgt_present, (qword)after_and, shuffle_mask_epsilon);
si_stqd(out_temp0, (qword)address_counter_tgt, 0);
si_stqd(out_temp1, (qword)address_counter_tgt, 16);
-
+
tgt_past = out_temp1;
src_past = src_present;
address_counter_src = spu_add(address_counter_src, 16);
address_counter_tgt = spu_add(address_counter_tgt, 16);
-
+
}
-
+
src_present = si_lqd((qword)address_counter_src, 16);
tgt_present = si_lqd((qword)address_counter_tgt, 16);
-
-
+
+
in_temp = spu_shuffle(src_present, src_past,(vector unsigned char) shuffle_mask_gamma);
-
+
compare = spu_cmpgt((vector signed short) in_temp, vec_val);
after_and = spu_and(compare, ones);
-
+
qword target_temp = spu_shuffle(tgt_present, tgt_past, (vector unsigned char) shuffle_mask_zeta);
qword meld = spu_shuffle((qword)after_and, target_temp, (vector unsigned char)shuffle_mask_beta);
-
-
+
+
out_temp0 = spu_shuffle(tgt_past, meld, shuffle_mask_delta);
out_temp1 = spu_shuffle(tgt_present, meld, shuffle_mask_epsilon);
-
+
si_stqd(out_temp0, (qword)address_counter_tgt, 0);
si_stqd(out_temp1, (qword)address_counter_tgt, 16);
-
+
return retval;
}
@@ -156,5 +156,5 @@ int main(){
}
printf("\n");
}
-*/
+*/
diff --git a/volk/spu_lib/spu_16s_vector_subtract_unaligned.c b/volk/spu_lib/spu_16s_vector_subtract_unaligned.c
index a3ce6c2fe..ea110c8d2 100644
--- a/volk/spu_lib/spu_16s_vector_subtract_unaligned.c
+++ b/volk/spu_lib/spu_16s_vector_subtract_unaligned.c
@@ -4,15 +4,15 @@ void* libvector_16s_vector_subtract_unaligned(void* target, void* src0, void* s
//loop iterator i
int i = 0;
void* retval = target;
-
+
//put the target and source addresses into qwords
vector unsigned int address_counter_tgt = {(unsigned int)target, 0, 0, 0};
vector unsigned int address_counter_src0 = {(unsigned int)src0, 0, 0 ,0};
vector unsigned int address_counter_src1 = {(unsigned int)src1, 0, 0, 0};
-
+
//create shuffle masks
-
+
//shuffle mask building blocks:
//all from the first vector
vector unsigned char oneup = {0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
@@ -20,9 +20,9 @@ void* libvector_16s_vector_subtract_unaligned(void* target, void* src0, void* s
//all from the second vector
vector unsigned char second_oneup = {0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17,
0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f};
-
-
+
+
//gamma: second half of the second, first half of the first, break at (unsigned int)src0%16
vector unsigned char src_cmp = spu_splats((unsigned char)((unsigned int)src0%16));
vector unsigned char gt_res = spu_cmpgt(oneup, src_cmp);
@@ -30,7 +30,7 @@ void* libvector_16s_vector_subtract_unaligned(void* target, void* src0, void* s
vector unsigned char cmp_res = spu_or(gt_res, eq_res);
vector unsigned char sixteen_uchar = spu_splats((unsigned char)16);
vector unsigned char phase_change = spu_and(sixteen_uchar, cmp_res);
- vector unsigned int shuffle_mask_gamma = spu_add((vector unsigned int)phase_change,
+ vector unsigned int shuffle_mask_gamma = spu_add((vector unsigned int)phase_change,
(vector unsigned int)oneup);
shuffle_mask_gamma = spu_rlqwbyte(shuffle_mask_gamma, (unsigned int)src0%16);
@@ -41,17 +41,17 @@ void* libvector_16s_vector_subtract_unaligned(void* target, void* src0, void* s
cmp_res = spu_or(gt_res, eq_res);
sixteen_uchar = spu_splats((unsigned char)16);
phase_change = spu_and(sixteen_uchar, cmp_res);
- vector unsigned int shuffle_mask_eta = spu_add((vector unsigned int)phase_change,
+ vector unsigned int shuffle_mask_eta = spu_add((vector unsigned int)phase_change,
(vector unsigned int)oneup);
shuffle_mask_eta = spu_rlqwbyte(shuffle_mask_eta, (unsigned int)src1%16);
-
-
-
+
+
+
vector unsigned char tgt_second = spu_rlqwbyte(second_oneup, -((unsigned int)target%16));
vector unsigned char tgt_first = spu_rlqwbyte(oneup, -((unsigned int)target%16));
-
+
//alpha: first half of first, second half of second, break at (unsigned int)target%16
src_cmp = spu_splats((unsigned char)((unsigned int)target%16));
gt_res = spu_cmpgt(oneup, src_cmp);
@@ -60,13 +60,13 @@ void* libvector_16s_vector_subtract_unaligned(void* target, void* src0, void* s
phase_change = spu_and(sixteen_uchar, cmp_res);
vector unsigned int shuffle_mask_alpha = spu_add((vector unsigned int)phase_change,
(vector unsigned int)oneup);
-
+
//delta: first half of first, first half of second, break at (unsigned int)target%16
vector unsigned char shuffle_mask_delta = spu_shuffle(oneup, tgt_second, (vector unsigned char)shuffle_mask_alpha);
//epsilon: second half of second, second half of first, break at (unsigned int)target%16
vector unsigned char shuffle_mask_epsilon = spu_shuffle(tgt_second, oneup, (vector unsigned char)shuffle_mask_alpha);
//zeta: second half of second, first half of first, break at 16 - (unsigned int)target%16
- vector unsigned int shuffle_mask_zeta = spu_rlqwbyte(shuffle_mask_alpha, (unsigned int)target%16);
+ vector unsigned int shuffle_mask_zeta = spu_rlqwbyte(shuffle_mask_alpha, (unsigned int)target%16);
//beta: first half of first, second half of second, break at num_bytes%16
src_cmp = spu_splats((unsigned char)(num_bytes%16));
@@ -76,19 +76,19 @@ void* libvector_16s_vector_subtract_unaligned(void* target, void* src0, void* s
phase_change = spu_and(sixteen_uchar, cmp_res);
vector unsigned int shuffle_mask_beta = spu_add((vector unsigned int)phase_change,
(vector unsigned int)oneup);
-
-
-
-
+
+
+
+
qword src0_past;
qword src0_present;
qword src1_past;
qword src1_present;
qword tgt_past;
qword tgt_present;
-
+
qword in_temp0;
qword in_temp1;
qword out_temp0;
@@ -99,54 +99,54 @@ void* libvector_16s_vector_subtract_unaligned(void* target, void* src0, void* s
src0_past = si_lqd((qword)address_counter_src0, 0);
src1_past = si_lqd((qword)address_counter_src1, 0);
tgt_past = si_lqd((qword)address_counter_tgt, 0);
-
+
for(i = 0; i < num_bytes/16; ++i) {
-
+
src0_present = si_lqd((qword)address_counter_src0, 16);
src1_present = si_lqd((qword)address_counter_src1, 16);
tgt_present = si_lqd((qword)address_counter_tgt, 16);
-
+
in_temp0 = spu_shuffle(src0_present, src0_past, (vector unsigned char)shuffle_mask_gamma);
in_temp1 = spu_shuffle(src1_present, src1_past, (vector unsigned char)shuffle_mask_eta);
-
+
sum = spu_sub((vector signed short)in_temp0, (vector signed short)in_temp1);
-
+
out_temp0 = spu_shuffle(tgt_past, (qword)sum, shuffle_mask_delta);
out_temp1 = spu_shuffle(tgt_present, (qword)sum, shuffle_mask_epsilon);
-
+
si_stqd(out_temp0, (qword)address_counter_tgt, 0);
si_stqd(out_temp1, (qword)address_counter_tgt, 16);
-
+
tgt_past = out_temp1;
src0_past = src0_present;
src1_past = src1_present;
address_counter_src0 = spu_add(address_counter_src0, 16);
address_counter_src1 = spu_add(address_counter_src1, 16);
address_counter_tgt = spu_add(address_counter_tgt, 16);
-
-
+
+
}
-
+
src0_present = si_lqd((qword)address_counter_src0, 16);
src1_present = si_lqd((qword)address_counter_src1, 16);
tgt_present = si_lqd((qword)address_counter_tgt, 16);
-
-
+
+
in_temp0 = spu_shuffle(src0_present, src0_past, (vector unsigned char) shuffle_mask_gamma);
in_temp1 = spu_shuffle(src1_present, src1_past, (vector unsigned char) shuffle_mask_eta);
sum = spu_sub((vector signed short)in_temp0, (vector signed short)in_temp1);
qword target_temp = spu_shuffle(tgt_present, tgt_past, (vector unsigned char) shuffle_mask_zeta);
qword meld = spu_shuffle((qword)sum, target_temp, (vector unsigned char)shuffle_mask_beta);
-
-
+
+
out_temp0 = spu_shuffle(tgt_past, meld, shuffle_mask_delta);
out_temp1 = spu_shuffle(tgt_present, meld, shuffle_mask_epsilon);
-
+
si_stqd(out_temp0, (qword)address_counter_tgt, 0);
si_stqd(out_temp1, (qword)address_counter_tgt, 16);
-
+
return retval;
}
diff --git a/volk/spu_lib/spu_16s_vector_sum_unaligned.c b/volk/spu_lib/spu_16s_vector_sum_unaligned.c
index 5a1cb9aaf..0097b4f56 100644
--- a/volk/spu_lib/spu_16s_vector_sum_unaligned.c
+++ b/volk/spu_lib/spu_16s_vector_sum_unaligned.c
@@ -4,15 +4,15 @@ void* libvector_16s_vector_sum_unaligned(void* target, void* src0, void* src1,
//loop iterator i
int i = 0;
void* retval = target;
-
+
//put the target and source addresses into qwords
vector unsigned int address_counter_tgt = {(unsigned int)target, 0, 0, 0};
vector unsigned int address_counter_src0 = {(unsigned int)src0, 0, 0 ,0};
vector unsigned int address_counter_src1 = {(unsigned int)src1, 0, 0, 0};
-
+
//create shuffle masks
-
+
//shuffle mask building blocks:
//all from the first vector
vector unsigned char oneup = {0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
@@ -20,9 +20,9 @@ void* libvector_16s_vector_sum_unaligned(void* target, void* src0, void* src1,
//all from the second vector
vector unsigned char second_oneup = {0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17,
0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f};
-
-
+
+
//gamma: second half of the second, first half of the first, break at (unsigned int)src0%16
vector unsigned char src_cmp = spu_splats((unsigned char)((unsigned int)src0%16));
vector unsigned char gt_res = spu_cmpgt(oneup, src_cmp);
@@ -30,7 +30,7 @@ void* libvector_16s_vector_sum_unaligned(void* target, void* src0, void* src1,
vector unsigned char cmp_res = spu_or(gt_res, eq_res);
vector unsigned char sixteen_uchar = spu_splats((unsigned char)16);
vector unsigned char phase_change = spu_and(sixteen_uchar, cmp_res);
- vector unsigned int shuffle_mask_gamma = spu_add((vector unsigned int)phase_change,
+ vector unsigned int shuffle_mask_gamma = spu_add((vector unsigned int)phase_change,
(vector unsigned int)oneup);
shuffle_mask_gamma = spu_rlqwbyte(shuffle_mask_gamma, (unsigned int)src0%16);
@@ -41,17 +41,17 @@ void* libvector_16s_vector_sum_unaligned(void* target, void* src0, void* src1,
cmp_res = spu_or(gt_res, eq_res);
sixteen_uchar = spu_splats((unsigned char)16);
phase_change = spu_and(sixteen_uchar, cmp_res);
- vector unsigned int shuffle_mask_eta = spu_add((vector unsigned int)phase_change,
+ vector unsigned int shuffle_mask_eta = spu_add((vector unsigned int)phase_change,
(vector unsigned int)oneup);
shuffle_mask_eta = spu_rlqwbyte(shuffle_mask_eta, (unsigned int)src1%16);
-
-
-
+
+
+
vector unsigned char tgt_second = spu_rlqwbyte(second_oneup, -((unsigned int)target%16));
vector unsigned char tgt_first = spu_rlqwbyte(oneup, -((unsigned int)target%16));
-
+
//alpha: first half of first, second half of second, break at (unsigned int)target%16
src_cmp = spu_splats((unsigned char)((unsigned int)target%16));
gt_res = spu_cmpgt(oneup, src_cmp);
@@ -60,13 +60,13 @@ void* libvector_16s_vector_sum_unaligned(void* target, void* src0, void* src1,
phase_change = spu_and(sixteen_uchar, cmp_res);
vector unsigned int shuffle_mask_alpha = spu_add((vector unsigned int)phase_change,
(vector unsigned int)oneup);
-
+
//delta: first half of first, first half of second, break at (unsigned int)target%16
vector unsigned char shuffle_mask_delta = spu_shuffle(oneup, tgt_second, (vector unsigned char)shuffle_mask_alpha);
//epsilon: second half of second, second half of first, break at (unsigned int)target%16
vector unsigned char shuffle_mask_epsilon = spu_shuffle(tgt_second, oneup, (vector unsigned char)shuffle_mask_alpha);
//zeta: second half of second, first half of first, break at 16 - (unsigned int)target%16
- vector unsigned int shuffle_mask_zeta = spu_rlqwbyte(shuffle_mask_alpha, (unsigned int)target%16);
+ vector unsigned int shuffle_mask_zeta = spu_rlqwbyte(shuffle_mask_alpha, (unsigned int)target%16);
//beta: first half of first, second half of second, break at num_bytes%16
src_cmp = spu_splats((unsigned char)(num_bytes%16));
@@ -76,19 +76,19 @@ void* libvector_16s_vector_sum_unaligned(void* target, void* src0, void* src1,
phase_change = spu_and(sixteen_uchar, cmp_res);
vector unsigned int shuffle_mask_beta = spu_add((vector unsigned int)phase_change,
(vector unsigned int)oneup);
-
-
-
-
+
+
+
+
qword src0_past;
qword src0_present;
qword src1_past;
qword src1_present;
qword tgt_past;
qword tgt_present;
-
+
qword in_temp0;
qword in_temp1;
qword out_temp0;
@@ -99,54 +99,54 @@ void* libvector_16s_vector_sum_unaligned(void* target, void* src0, void* src1,
src0_past = si_lqd((qword)address_counter_src0, 0);
src1_past = si_lqd((qword)address_counter_src1, 0);
tgt_past = si_lqd((qword)address_counter_tgt, 0);
-
+
for(i = 0; i < num_bytes/16; ++i) {
-
+
src0_present = si_lqd((qword)address_counter_src0, 16);
src1_present = si_lqd((qword)address_counter_src1, 16);
tgt_present = si_lqd((qword)address_counter_tgt, 16);
-
+
in_temp0 = spu_shuffle(src0_present, src0_past, (vector unsigned char)shuffle_mask_gamma);
in_temp1 = spu_shuffle(src1_present, src1_past, (vector unsigned char)shuffle_mask_eta);
-
+
sum = spu_add((vector signed int)in_temp0, (vector signed int)in_temp1);
-
+
out_temp0 = spu_shuffle(tgt_past, (qword)sum, shuffle_mask_delta);
out_temp1 = spu_shuffle(tgt_present, (qword)sum, shuffle_mask_epsilon);
-
+
si_stqd(out_temp0, (qword)address_counter_tgt, 0);
si_stqd(out_temp1, (qword)address_counter_tgt, 16);
-
+
tgt_past = out_temp1;
src0_past = src0_present;
src1_past = src1_present;
address_counter_src0 = spu_add(address_counter_src0, 16);
address_counter_src1 = spu_add(address_counter_src1, 16);
address_counter_tgt = spu_add(address_counter_tgt, 16);
-
-
+
+
}
-
+
src0_present = si_lqd((qword)address_counter_src0, 16);
src1_present = si_lqd((qword)address_counter_src1, 16);
tgt_present = si_lqd((qword)address_counter_tgt, 16);
-
-
+
+
in_temp0 = spu_shuffle(src0_present, src0_past, (vector unsigned char) shuffle_mask_gamma);
in_temp1 = spu_shuffle(src1_present, src1_past, (vector unsigned char) shuffle_mask_eta);
sum = spu_add((vector signed int)in_temp0, (vector signed int)in_temp1);
qword target_temp = spu_shuffle(tgt_present, tgt_past, (vector unsigned char) shuffle_mask_zeta);
qword meld = spu_shuffle((qword)sum, target_temp, (vector unsigned char)shuffle_mask_beta);
-
-
+
+
out_temp0 = spu_shuffle(tgt_past, meld, shuffle_mask_delta);
out_temp1 = spu_shuffle(tgt_present, meld, shuffle_mask_epsilon);
-
+
si_stqd(out_temp0, (qword)address_counter_tgt, 0);
si_stqd(out_temp1, (qword)address_counter_tgt, 16);
-
+
return retval;
}
diff --git a/volk/spu_lib/spu_32fc_pointwise_multiply_unaligned.c b/volk/spu_lib/spu_32fc_pointwise_multiply_unaligned.c
index 58fd4aa0c..d1c960488 100644
--- a/volk/spu_lib/spu_32fc_pointwise_multiply_unaligned.c
+++ b/volk/spu_lib/spu_32fc_pointwise_multiply_unaligned.c
@@ -7,15 +7,15 @@ void* libvector_pointwise_multiply_32fc_unaligned(void* target, void* src0, voi
//loop iterator i
int i = 0;
void* retval = target;
-
+
//put the target and source addresses into qwords
vector unsigned int address_counter_tgt = {(unsigned int)target, 0, 0, 0};
vector unsigned int address_counter_src0 = {(unsigned int)src0, 0, 0 ,0};
vector unsigned int address_counter_src1 = {(unsigned int)src1, 0, 0, 0};
-
+
//create shuffle masks
-
+
//shuffle mask building blocks:
//all from the first vector
vector unsigned char oneup = {0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
@@ -23,9 +23,9 @@ void* libvector_pointwise_multiply_32fc_unaligned(void* target, void* src0, voi
//all from the second vector
vector unsigned char second_oneup = {0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17,
0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f};
-
-
+
+
//gamma: second half of the second, first half of the first, break at (unsigned int)src0%16
vector unsigned char src_cmp = spu_splats((unsigned char)((unsigned int)src0%16));
vector unsigned char gt_res = spu_cmpgt(oneup, src_cmp);
@@ -33,7 +33,7 @@ void* libvector_pointwise_multiply_32fc_unaligned(void* target, void* src0, voi
vector unsigned char cmp_res = spu_or(gt_res, eq_res);
vector unsigned char sixteen_uchar = spu_splats((unsigned char)16);
vector unsigned char phase_change = spu_and(sixteen_uchar, cmp_res);
- vector unsigned int shuffle_mask_gamma = spu_add((vector unsigned int)phase_change,
+ vector unsigned int shuffle_mask_gamma = spu_add((vector unsigned int)phase_change,
(vector unsigned int)oneup);
shuffle_mask_gamma = spu_rlqwbyte(shuffle_mask_gamma, (unsigned int)src0%16);
@@ -44,17 +44,17 @@ void* libvector_pointwise_multiply_32fc_unaligned(void* target, void* src0, voi
cmp_res = spu_or(gt_res, eq_res);
sixteen_uchar = spu_splats((unsigned char)16);
phase_change = spu_and(sixteen_uchar, cmp_res);
- vector unsigned int shuffle_mask_eta = spu_add((vector unsigned int)phase_change,
+ vector unsigned int shuffle_mask_eta = spu_add((vector unsigned int)phase_change,
(vector unsigned int)oneup);
shuffle_mask_eta = spu_rlqwbyte(shuffle_mask_eta, (unsigned int)src1%16);
-
-
-
+
+
+
vector unsigned char tgt_second = spu_rlqwbyte(second_oneup, -((unsigned int)target%16));
vector unsigned char tgt_first = spu_rlqwbyte(oneup, -((unsigned int)target%16));
-
+
//alpha: first half of first, second half of second, break at (unsigned int)target%16
src_cmp = spu_splats((unsigned char)((unsigned int)target%16));
gt_res = spu_cmpgt(oneup, src_cmp);
@@ -63,13 +63,13 @@ void* libvector_pointwise_multiply_32fc_unaligned(void* target, void* src0, voi
phase_change = spu_and(sixteen_uchar, cmp_res);
vector unsigned int shuffle_mask_alpha = spu_add((vector unsigned int)phase_change,
(vector unsigned int)oneup);
-
+
//delta: first half of first, first half of second, break at (unsigned int)target%16
vector unsigned char shuffle_mask_delta = spu_shuffle(oneup, tgt_second, (vector unsigned char)shuffle_mask_alpha);
//epsilon: second half of second, second half of first, break at (unsigned int)target%16
vector unsigned char shuffle_mask_epsilon = spu_shuffle(tgt_second, oneup, (vector unsigned char)shuffle_mask_alpha);
//zeta: second half of second, first half of first, break at 16 - (unsigned int)target%16
- vector unsigned int shuffle_mask_zeta = spu_rlqwbyte(shuffle_mask_alpha, (unsigned int)target%16);
+ vector unsigned int shuffle_mask_zeta = spu_rlqwbyte(shuffle_mask_alpha, (unsigned int)target%16);
//beta: first half of first, second half of second, break at num_bytes%16
src_cmp = spu_splats((unsigned char)(num_bytes%16));
@@ -79,19 +79,19 @@ void* libvector_pointwise_multiply_32fc_unaligned(void* target, void* src0, voi
phase_change = spu_and(sixteen_uchar, cmp_res);
vector unsigned int shuffle_mask_beta = spu_add((vector unsigned int)phase_change,
(vector unsigned int)oneup);
-
-
-
-
+
+
+
+
qword src0_past;
qword src0_present;
qword src1_past;
qword src1_present;
qword tgt_past;
qword tgt_present;
-
+
qword in_temp0;
qword in_temp1;
qword out_temp0;
@@ -101,7 +101,7 @@ void* libvector_pointwise_multiply_32fc_unaligned(void* target, void* src0, voi
src0_past = si_lqd((qword)address_counter_src0, 0);
src1_past = si_lqd((qword)address_counter_src1, 0);
tgt_past = si_lqd((qword)address_counter_tgt, 0);
-
+
vector unsigned char shuffle_mask_complexprod0 = {0x04, 0x05, 0x06, 0x07, 0x00, 0x01, 0x02, 0x03,
0x0c, 0x0d, 0x0e, 0x0f, 0x08, 0x09, 0x0a, 0x0b};
vector unsigned char shuffle_mask_complexprod1 = {0x00, 0x01, 0x02, 0x03, 0x10, 0x11, 0x12, 0x13,
@@ -110,7 +110,7 @@ void* libvector_pointwise_multiply_32fc_unaligned(void* target, void* src0, voi
0x0c, 0x0d, 0x0e, 0x0f, 0x1c, 0x1d, 0x1e, 0x1f};
vector unsigned char sign_changer = {0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00};
-
+
vector float prod0;
qword shuf0;
vector float prod1;
@@ -118,54 +118,54 @@ void* libvector_pointwise_multiply_32fc_unaligned(void* target, void* src0, voi
qword summand0;
qword summand1;
vector float sum;
-
+
for(i = 0; i < num_bytes/16; ++i) {
-
+
src0_present = si_lqd((qword)address_counter_src0, 16);
src1_present = si_lqd((qword)address_counter_src1, 16);
tgt_present = si_lqd((qword)address_counter_tgt, 16);
-
+
in_temp0 = spu_shuffle(src0_present, src0_past, (vector unsigned char)shuffle_mask_gamma);
in_temp1 = spu_shuffle(src1_present, src1_past, (vector unsigned char)shuffle_mask_eta);
-
+
prod0 = spu_mul((vector float)in_temp0, (vector float)in_temp1);
shuf0 = spu_shuffle((qword)in_temp1, (qword)in_temp1, shuffle_mask_complexprod0);
prod1 = spu_mul((vector float)in_temp0, (vector float)shuf0);
sign_change = spu_xor(prod0, (vector float)sign_changer);
-
+
summand0 = spu_shuffle((qword)sign_change, (qword)prod1, shuffle_mask_complexprod1);
-
+
summand1 = spu_shuffle((qword)sign_change, (qword)prod1, shuffle_mask_complexprod2);
-
+
sum = spu_add((vector float)summand0, (vector float)summand1);
-
+
out_temp0 = spu_shuffle(tgt_past, (qword)sum, shuffle_mask_delta);
out_temp1 = spu_shuffle(tgt_present, (qword)sum, shuffle_mask_epsilon);
-
+
si_stqd(out_temp0, (qword)address_counter_tgt, 0);
si_stqd(out_temp1, (qword)address_counter_tgt, 16);
-
+
tgt_past = out_temp1;
src0_past = src0_present;
src1_past = src1_present;
address_counter_src0 = spu_add(address_counter_src0, 16);
address_counter_src1 = spu_add(address_counter_src1, 16);
address_counter_tgt = spu_add(address_counter_tgt, 16);
-
-
+
+
}
-
+
src0_present = si_lqd((qword)address_counter_src0, 16);
src1_present = si_lqd((qword)address_counter_src1, 16);
tgt_present = si_lqd((qword)address_counter_tgt, 16);
-
-
+
+
in_temp0 = spu_shuffle(src0_present, src0_past, (vector unsigned char) shuffle_mask_gamma);
in_temp1 = spu_shuffle(src1_present, src1_past, (vector unsigned char) shuffle_mask_eta);
-
-
+
+
prod0 = spu_mul((vector float)in_temp0, (vector float)in_temp1);
shuf0 = spu_shuffle((qword)in_temp1, (qword)in_temp1, shuffle_mask_complexprod0);
prod1 = spu_mul(prod0, (vector float)shuf0);
@@ -173,20 +173,20 @@ void* libvector_pointwise_multiply_32fc_unaligned(void* target, void* src0, voi
summand0 = spu_shuffle((qword)sign_change, (qword)prod1, shuffle_mask_complexprod1);
summand1 = spu_shuffle((qword)sign_change, (qword)prod1, shuffle_mask_complexprod2);
sum = spu_add((vector float)summand0, (vector float)summand1);
-
-
-
+
+
+
qword target_temp = spu_shuffle(tgt_present, tgt_past, (vector unsigned char) shuffle_mask_zeta);
qword meld = spu_shuffle((qword)sum, target_temp, (vector unsigned char)shuffle_mask_beta);
-
-
-
+
+
+
out_temp0 = spu_shuffle(tgt_past, meld, shuffle_mask_delta);
out_temp1 = spu_shuffle(tgt_present, meld, shuffle_mask_epsilon);
-
+
si_stqd(out_temp0, (qword)address_counter_tgt, 0);
si_stqd(out_temp1, (qword)address_counter_tgt, 16);
-
+
return retval;
}
@@ -209,14 +209,14 @@ int main(){
vector_product_complex(res, pooh, bear, 48*sizeof(float));
-
+
for(i = 0; i < 48; ++i) {
printf("%f, ", res[i]);
}
printf("\n");
-
+
}
*/
diff --git a/volk/spu_lib/spu_memcpy_unaligned.c b/volk/spu_lib/spu_memcpy_unaligned.c
index 2a0dabcd7..0f15b5d80 100644
--- a/volk/spu_lib/spu_memcpy_unaligned.c
+++ b/volk/spu_lib/spu_memcpy_unaligned.c
@@ -5,14 +5,14 @@ void* libvector_memcpy_unaligned(void* target, void* src, unsigned int num_bytes
//loop iterator i
int i = 0;
void* retval = target;
-
+
//put the target and source addresses into qwords
vector unsigned int address_counter_tgt = {(unsigned int)target, 0, 0, 0};
vector unsigned int address_counter_src = {(unsigned int)src, 0, 0 ,0};
-
+
//create shuffle masks
-
+
//shuffle mask building blocks:
//all from the first vector
vector unsigned char oneup = {0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
@@ -20,9 +20,9 @@ void* libvector_memcpy_unaligned(void* target, void* src, unsigned int num_bytes
//all from the second vector
vector unsigned char second_oneup = {0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17,
0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f};
-
-
+
+
//gamma: second half of the second, first half of the first, break at (unsigned int)src%16
vector unsigned char src_cmp = spu_splats((unsigned char)((unsigned int)src%16));
vector unsigned char gt_res = spu_cmpgt(oneup, src_cmp);
@@ -30,16 +30,16 @@ void* libvector_memcpy_unaligned(void* target, void* src, unsigned int num_bytes
vector unsigned char cmp_res = spu_or(gt_res, eq_res);
vector unsigned char sixteen_uchar = spu_splats((unsigned char)16);
vector unsigned char phase_change = spu_and(sixteen_uchar, cmp_res);
- vector unsigned int shuffle_mask_gamma = spu_add((vector unsigned int)phase_change,
+ vector unsigned int shuffle_mask_gamma = spu_add((vector unsigned int)phase_change,
(vector unsigned int)oneup);
shuffle_mask_gamma = spu_rlqwbyte(shuffle_mask_gamma, (unsigned int)src%16);
-
-
+
+
vector unsigned char tgt_second = spu_rlqwbyte(second_oneup, -((unsigned int)target%16));
vector unsigned char tgt_first = spu_rlqwbyte(oneup, -((unsigned int)target%16));
-
+
//alpha: first half of first, second half of second, break at (unsigned int)target%16
src_cmp = spu_splats((unsigned char)((unsigned int)target%16));
gt_res = spu_cmpgt(oneup, src_cmp);
@@ -48,13 +48,13 @@ void* libvector_memcpy_unaligned(void* target, void* src, unsigned int num_bytes
phase_change = spu_and(sixteen_uchar, cmp_res);
vector unsigned int shuffle_mask_alpha = spu_add((vector unsigned int)phase_change,
(vector unsigned int)oneup);
-
+
//delta: first half of first, first half of second, break at (unsigned int)target%16
vector unsigned char shuffle_mask_delta = spu_shuffle(oneup, tgt_second, (vector unsigned char)shuffle_mask_alpha);
//epsilon: second half of second, second half of first, break at (unsigned int)target%16
vector unsigned char shuffle_mask_epsilon = spu_shuffle(tgt_second, oneup, (vector unsigned char)shuffle_mask_alpha);
//zeta: second half of second, first half of first, break at 16 - (unsigned int)target%16
- vector unsigned int shuffle_mask_zeta = spu_rlqwbyte(shuffle_mask_alpha, (unsigned int)target%16);
+ vector unsigned int shuffle_mask_zeta = spu_rlqwbyte(shuffle_mask_alpha, (unsigned int)target%16);
//beta: first half of first, second half of second, break at num_bytes%16
src_cmp = spu_splats((unsigned char)(num_bytes%16));
@@ -64,61 +64,61 @@ void* libvector_memcpy_unaligned(void* target, void* src, unsigned int num_bytes
phase_change = spu_and(sixteen_uchar, cmp_res);
vector unsigned int shuffle_mask_beta = spu_add((vector unsigned int)phase_change,
(vector unsigned int)oneup);
-
-
-
-
+
+
+
+
qword src_past;
qword src_present;
qword tgt_past;
qword tgt_present;
-
+
qword in_temp;
qword out_temp0;
qword out_temp1;
src_past = si_lqd((qword)address_counter_src, 0);
tgt_past = si_lqd((qword)address_counter_tgt, 0);
-
+
for(i = 0; i < num_bytes/16; ++i) {
-
+
src_present = si_lqd((qword)address_counter_src, 16);
tgt_present = si_lqd((qword)address_counter_tgt, 16);
-
+
in_temp = spu_shuffle(src_present, src_past, (vector unsigned char)shuffle_mask_gamma);
-
+
out_temp0 = spu_shuffle(tgt_past, in_temp, shuffle_mask_delta);
out_temp1 = spu_shuffle(tgt_present, in_temp, shuffle_mask_epsilon);
si_stqd(out_temp0, (qword)address_counter_tgt, 0);
si_stqd(out_temp1, (qword)address_counter_tgt, 16);
-
+
tgt_past = out_temp1;
src_past = src_present;
address_counter_src = spu_add(address_counter_src, 16);
address_counter_tgt = spu_add(address_counter_tgt, 16);
-
+
}
-
+
src_present = si_lqd((qword)address_counter_src, 16);
tgt_present = si_lqd((qword)address_counter_tgt, 16);
-
-
+
+
in_temp = spu_shuffle(src_present, src_past,(vector unsigned char) shuffle_mask_gamma);
qword target_temp = spu_shuffle(tgt_present, tgt_past, (vector unsigned char) shuffle_mask_zeta);
qword meld = spu_shuffle(in_temp, target_temp, (vector unsigned char)shuffle_mask_beta);
-
-
+
+
out_temp0 = spu_shuffle(tgt_past, meld, shuffle_mask_delta);
out_temp1 = spu_shuffle(tgt_present, meld, shuffle_mask_epsilon);
-
+
si_stqd(out_temp0, (qword)address_counter_tgt, 0);
si_stqd(out_temp1, (qword)address_counter_tgt, 16);
-
+
return retval;
}
@@ -133,9 +133,9 @@ void* mcpy(void* target, void* src, size_t num_bytes){
//put the target and source addresses into qwords
vector unsigned int address_counter_tgt = {(unsigned int)target, 0, 0, 0};
vector unsigned int address_counter_src = {(unsigned int)src, 0, 0 ,0};
-
+
//create shuffle masks
-
+
//shuffle mask building blocks:
//all from the first vector
vector unsigned char oneup = {0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
@@ -143,9 +143,9 @@ void* mcpy(void* target, void* src, size_t num_bytes){
//all from the second vector
vector unsigned char second_oneup = {0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17,
0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f};
-
-
+
+
//gamma: second half of the second, first half of the first, break at src%16
vector unsigned char src_cmp = spu_splats((unsigned char)(src%16));
vector unsigned char gt_res = spu_cmpgt(oneup, src_cmp);
@@ -153,16 +153,16 @@ void* mcpy(void* target, void* src, size_t num_bytes){
vector unsigned char cmp_res = spu_or(gt_res, eq_res);
vector unsigned char sixteen_uchar = spu_splats((unsigned char)16);
vector unsigned char phase_change = spu_and(sixteen_uchar, cmp_res);
- vector unsigned int shuffle_mask_gamma = spu_add((vector unsigned int)phase_change,
+ vector unsigned int shuffle_mask_gamma = spu_add((vector unsigned int)phase_change,
(vector unsigned int)oneup);
shuffle_mask_gamma = spu_rlqwbyte(shuffle_mask_gamma, src%16);
-
-
+
+
vector unsigned char tgt_second = spu_rlqwbyte(second_oneup, -(target%16));
vector unsigned char tgt_first = spu_rlqwbyte(oneup, -(target%16));
-
+
//alpha: first half of first, second half of second, break at target%16
src_cmp = spu_splats((unsigned char)(target%16));
gt_res = spu_cmpgt(oneup, src_cmp);
@@ -171,13 +171,13 @@ void* mcpy(void* target, void* src, size_t num_bytes){
phase_change = spu_and(sixteen_uchar, cmp_res);
vector unsigned int shuffle_mask_alpha = spu_add((vector unsigned int)phase_change,
(vector unsigned int)oneup);
-
+
//delta: first half of first, first half of second, break at target%16
vector unsigned char shuffle_mask_delta = spu_shuffle(oneup, tgt_second, (vector unsigned char)shuffle_mask_alpha);
//epsilon: second half of second, second half of first, break at target%16
vector unsigned char shuffle_mask_epsilon = spu_shuffle(tgt_second, oneup, (vector unsigned char)shuffle_mask_alpha);
//zeta: second half of second, first half of first, break at 16 - target%16
- vector unsigned int shuffle_mask_zeta = spu_rlqwbyte(shuffle_mask_alpha, target%16);
+ vector unsigned int shuffle_mask_zeta = spu_rlqwbyte(shuffle_mask_alpha, target%16);
//beta: first half of first, second half of second, break at num_bytes%16
src_cmp = spu_splats((unsigned char)(num_bytes%16));
@@ -187,10 +187,10 @@ void* mcpy(void* target, void* src, size_t num_bytes){
phase_change = spu_and(sixteen_uchar, cmp_res);
vector unsigned int shuffle_mask_beta = spu_add((vector unsigned int)phase_change,
(vector unsigned int)oneup);
-
-
+
+
printf("num_bytesmod16 %d\n", num_bytes%16);
- printf("beta %d, %d, %d, %d, %d, %d, %d, %d, %d, %d, %d, %d, %d, %d, %d, %d\n",
+ printf("beta %d, %d, %d, %d, %d, %d, %d, %d, %d, %d, %d, %d, %d, %d, %d, %d\n",
spu_extract((vector unsigned char) shuffle_mask_beta, 0),
spu_extract((vector unsigned char) shuffle_mask_beta, 1),
spu_extract((vector unsigned char) shuffle_mask_beta, 2),
@@ -207,64 +207,64 @@ void* mcpy(void* target, void* src, size_t num_bytes){
spu_extract((vector unsigned char) shuffle_mask_beta, 13),
spu_extract((vector unsigned char) shuffle_mask_beta, 14),
spu_extract((vector unsigned char) shuffle_mask_beta, 15));
-
-
-
-
+
+
+
+
qword src_past;
qword src_present;
qword tgt_past;
qword tgt_present;
-
+
qword in_temp;
qword out_temp0;
qword out_temp1;
src_past = si_lqd((qword)address_counter_src, 0);
tgt_past = si_lqd((qword)address_counter_tgt, 0);
-
+
for(i = 0; i < num_bytes/16; ++i) {
-
+
src_present = si_lqd((qword)address_counter_src, 16);
tgt_present = si_lqd((qword)address_counter_tgt, 16);
-
+
in_temp = spu_shuffle(src_present, src_past, (vector unsigned char)shuffle_mask_gamma);
-
+
out_temp0 = spu_shuffle(tgt_past, in_temp, shuffle_mask_delta);
out_temp1 = spu_shuffle(tgt_present, in_temp, shuffle_mask_epsilon);
si_stqd(out_temp0, (qword)address_counter_tgt, 0);
si_stqd(out_temp1, (qword)address_counter_tgt, 16);
-
+
tgt_past = out_temp1;
src_past = src_present;
address_counter_src = spu_add(address_counter_src, 16);
address_counter_tgt = spu_add(address_counter_tgt, 16);
-
+
}
-
+
src_present = si_lqd((qword)address_counter_src, 16);
tgt_present = si_lqd((qword)address_counter_tgt, 16);
-
-
+
+
in_temp = spu_shuffle(src_present, src_past,(vector unsigned char) shuffle_mask_gamma);
qword target_temp = spu_shuffle(tgt_present, tgt_past, (vector unsigned char) shuffle_mask_zeta);
qword meld = spu_shuffle(in_temp, target_temp, (vector unsigned char)shuffle_mask_beta);
-
-
+
+
out_temp0 = spu_shuffle(tgt_past, meld, shuffle_mask_delta);
out_temp1 = spu_shuffle(tgt_present, meld, shuffle_mask_epsilon);
-
+
si_stqd(out_temp0, (qword)address_counter_tgt, 0);
si_stqd(out_temp1, (qword)address_counter_tgt, 16);
return retval;
-
+
}
*/
/*
@@ -286,5 +286,5 @@ int main(){
}
printf("\n");
}
-
+
*/
diff --git a/volk/spu_lib/spu_memset_unaligned.S b/volk/spu_lib/spu_memset_unaligned.S
index a655c4c52..c260a125c 100644
--- a/volk/spu_lib/spu_memset_unaligned.S
+++ b/volk/spu_lib/spu_memset_unaligned.S
@@ -1,19 +1,19 @@
/* -*- asm -*- */
/*
* Copyright 2008 Free Software Foundation, Inc.
- *
+ *
* This file is part of GNU Radio
- *
+ *
* GNU Radio is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 3, or (at your option)
* any later version.
- *
+ *
* GNU Radio is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
- *
+ *
* You should have received a copy of the GNU General Public License along
* with this program; if not, write to the Free Software Foundation, Inc.,
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
@@ -33,11 +33,11 @@
* size_t i;
* for (i = 0; i < n; i++)
* p[i] = c;
- *
+ *
* return pv;
* }
*/
-
+
#define p_arg arg1 // we're going to clobber arg1 w/ the return value
#define c arg2 // the constant we're writing
#define n arg3 // how many bytes to write
@@ -50,16 +50,16 @@
#define an r18 // aligned n (n rounded down to mod 16 boundary)
#define next_p r19
#define cond1 r20
-#define cond2 r21
+#define cond2 r21
#define m r22
#define r r23
-
+
PROC_ENTRY(libvector_memset_unaligned)
-
+
// Hint the return from do_head, in case we go that way.
// There's pretty much nothing to can do to hint the branch to it.
hbrr do_head_br, head_complete
-
+
MR(p, p_arg) // leaves p, the return value, in the correct reg (r3)
BRZ_RETURN(n)
@@ -69,11 +69,11 @@
head_complete:
/*
- * preconditions:
+ * preconditions:
* p%16 == 0, n > 0
*/
hbrr middle_loop_br, middle_loop
-
+
ROUND_DOWN(an, n, 16) // an is "aligned n"
MODULO(n, n, 16) // what's left over in the last quad
brz an, do_tail // no whole quad words; skip to tail
@@ -96,20 +96,20 @@ middle_loop:
stqd c, 4*16(p)
stqd c, 5*16(p)
stqd c, 6*16(p)
-
+
MR(p, next_p)
stqd c, 7*16-128(next_p)
or cond2, n, an
middle_loop_br:
brnz cond1, middle_loop
-
+
/*
- * if an and n are both zero, return now
+ * if an and n are both zero, return now
*/
BRZ_RETURN(cond2)
/*
- * otherwise handle last of full quad words
+ * otherwise handle last of full quad words
*
* 0 <= an < 128, p%16 == 0
*/
@@ -119,18 +119,18 @@ middle2:
*/
brz an, do_tail
hbrr middle2_loop_br, middle2_loop
-
+
.p2align 3
-middle2_loop:
+middle2_loop:
ai next_p, p, 16
stqd c, 0(p)
ai an, an, -16
LMR(p, next_p)
middle2_loop_br:
brnz an, middle2_loop
-
+
/* We're done with the full quadwords. */
-
+
/*
* Handle the final partial quadword.
* We'll be modifying only the left hand portion of the quad.
@@ -146,7 +146,7 @@ do_tail:
shlqby mask, mask, t1
selb t0, old, c, mask
stqd t0, 0(p)
-do_tail_ret:
+do_tail_ret:
RETURN()
/*
@@ -176,7 +176,7 @@ do_head:
MR(t1, p)
sf t0, m, r // t0 = r - m
a p, p, m // p += m
- rotqby mask, mask, t0 // rotate 0's to the right place
+ rotqby mask, mask, t0 // rotate 0's to the right place
sf n, m, n // n -= m
selb t0, c, old, mask // merge
stqd t0, 0(t1)