1
0
mirror of https://github.com/gnss-sdr/gnss-sdr synced 2024-12-14 20:20:35 +00:00

Merge branch 'next' of https://github.com/gnss-sdr/gnss-sdr into vtl_experimental

This commit is contained in:
Javier Arribas 2021-01-11 10:36:52 +01:00
commit 7436b7df5e
25 changed files with 80 additions and 80 deletions

View File

@ -23,6 +23,7 @@ Checks: '-*,
bugprone-move-forwarding-reference, bugprone-move-forwarding-reference,
bugprone-multiple-statement-macro, bugprone-multiple-statement-macro,
bugprone-parent-virtual-call, bugprone-parent-virtual-call,
bugprone-reserved-identifier,
bugprone-sizeof-container, bugprone-sizeof-container,
bugprone-sizeof-expression, bugprone-sizeof-expression,
bugprone-string-constructor, bugprone-string-constructor,
@ -149,6 +150,12 @@ CheckOptions:
value: '' value: ''
- key: bugprone-misplaced-widening-cast.CheckImplicitCasts - key: bugprone-misplaced-widening-cast.CheckImplicitCasts
value: 'false' value: 'false'
- key: bugprone-reserved-identifier.AggressiveDependentMemberLookup
value: 'false'
- key: bugprone-reserved-identifier.AllowedIdentifiers
value: ''
- key: bugprone-reserved-identifier.Invert
value: 'false'
- key: bugprone-sizeof-expression.WarnOnSizeOfCompareToConstant - key: bugprone-sizeof-expression.WarnOnSizeOfCompareToConstant
value: 'true' value: 'true'
- key: bugprone-sizeof-expression.WarnOnSizeOfConstant - key: bugprone-sizeof-expression.WarnOnSizeOfConstant
@ -178,7 +185,7 @@ CheckOptions:
- key: bugprone-too-small-loop-variable.MagnitudeBitsUpperLimit - key: bugprone-too-small-loop-variable.MagnitudeBitsUpperLimit
value: '16' value: '16'
- key: bugprone-unused-return-value.CheckedFunctions - key: bugprone-unused-return-value.CheckedFunctions
value: '::std::async;::std::launder;::std::remove;::std::remove_if;::std::unique;::std::unique_ptr::release;::std::basic_string::empty;::std::vector::empty' value: 'std::async;std::launder;std::remove;std::remove_if;std::unique;std::unique_ptr::release;std::basic_string::empty;std::vector::empty;std::back_inserter;std::distance;std::find;std::find_if;std::inserter;std::lower_bound;std::make_pair;std::map::count;std::map::find;std::map::lower_bound;std::multimap::equal_range;std::multimap::upper_bound;std::set::count;std::set::find;std::setfill;std::setprecision;std::setw;std::upper_bound;std::vector::at;::bsearch;::ferror;::feof;::isalnum;::isalpha;::isblank;::iscntrl;::isdigit;::isgraph;::islower;::isprint;::ispunct;::isspace;::isupper;::iswalnum;::iswprint;::iswspace;::isxdigit;::memchr;::memcmp;::strcmp;::strcoll;::strncmp;::strpbrk;::strrchr;::strspn;::strstr;::wcscmp;::access;::bind;::connect;::difftime;::dlsym;::fnmatch;::getaddrinfo;::getopt;::htonl;::htons;::iconv_open;::inet_addr;::isascii;::isatty;::mmap;::newlocale;::openat;::pathconf;::pthread_equal;::pthread_getspecific;::pthread_mutex_trylock;::readdir;::readlink;::recvmsg;::regexec;::scandir;::semget;::setjmp;::shm_open;::shmget;::sigismember;::strcasecmp;::strsignal;::ttyname'
- key: cert-dcl16-c.NewSuffixes - key: cert-dcl16-c.NewSuffixes
value: 'L;LL;LU;LLU' value: 'L;LL;LU;LLU'
- key: cert-msc51-cpp.DisallowedSeedTypes - key: cert-msc51-cpp.DisallowedSeedTypes
@ -198,9 +205,9 @@ CheckOptions:
- key: cppcoreguidelines-special-member-functions.AllowSoleDefaultDtor - key: cppcoreguidelines-special-member-functions.AllowSoleDefaultDtor
value: 'false' value: 'false'
- key: google-build-namespaces.HeaderFileExtensions - key: google-build-namespaces.HeaderFileExtensions
value: ',h' value: ';h;hh;hpp;hxx'
- key: google-global-names-in-headers.HeaderFileExtensions - key: google-global-names-in-headers.HeaderFileExtensions
value: ',h,hh,hpp,hxx' value: ';h;hh;hpp;hxx'
- key: google-readability-braces-around-statements.ShortStatementLines - key: google-readability-braces-around-statements.ShortStatementLines
value: '1' value: '1'
- key: google-readability-function-size.StatementThreshold - key: google-readability-function-size.StatementThreshold
@ -224,7 +231,7 @@ CheckOptions:
- key: misc-throw-by-value-catch-by-reference.CheckThrowTemporaries - key: misc-throw-by-value-catch-by-reference.CheckThrowTemporaries
value: 'true' value: 'true'
- key: misc-throw-by-value-catch-by-reference.MaxSize - key: misc-throw-by-value-catch-by-reference.MaxSize
value: '-1' value: '64'
- key: misc-throw-by-value-catch-by-reference.WarnOnLargeObjects - key: misc-throw-by-value-catch-by-reference.WarnOnLargeObjects
value: 'false' value: 'false'
- key: modernize-avoid-bind.PermissiveParameterList - key: modernize-avoid-bind.PermissiveParameterList
@ -254,15 +261,15 @@ CheckOptions:
- key: modernize-use-default-member-init.UseAssignment - key: modernize-use-default-member-init.UseAssignment
value: 'false' value: 'false'
- key: modernize-use-emplace.ContainersWithPushBack - key: modernize-use-emplace.ContainersWithPushBack
value: '::std::vector;::std::list;::std::deque' value: 'std::vector;std::list;std::deque'
- key: modernize-use-emplace.IgnoreImplicitConstructors - key: modernize-use-emplace.IgnoreImplicitConstructors
value: 'false' value: 'false'
- key: modernize-use-emplace.SmartPointers - key: modernize-use-emplace.SmartPointers
value: '::std::shared_ptr;::std::unique_ptr;::std::auto_ptr;::std::weak_ptr' value: 'std::shared_ptr;std::unique_ptr;std::auto_ptr;std::weak_ptr'
- key: modernize-use-emplace.TupleMakeFunctions - key: modernize-use-emplace.TupleMakeFunctions
value: '::std::make_pair;::std::make_tuple' value: 'std::make_pair;std::make_tuple'
- key: modernize-use-emplace.TupleTypes - key: modernize-use-emplace.TupleTypes
value: '::std::pair;::std::tuple' value: 'std::pair;std::tuple'
- key: modernize-use-equals-default.IgnoreMacros - key: modernize-use-equals-default.IgnoreMacros
value: 'true' value: 'true'
- key: modernize-use-equals-delete.IgnoreMacros - key: modernize-use-equals-delete.IgnoreMacros
@ -282,7 +289,7 @@ CheckOptions:
- key: modernize-use-override.OverrideSpelling - key: modernize-use-override.OverrideSpelling
value: override value: override
- key: performance-faster-string-find.StringLikeClasses - key: performance-faster-string-find.StringLikeClasses
value: 'std::basic_string' value: 'std::basic_string;std::basic_string_view'
- key: performance-for-range-copy.AllowedTypes - key: performance-for-range-copy.AllowedTypes
value: '' value: ''
- key: performance-for-range-copy.WarnOnAllAutoCopies - key: performance-for-range-copy.WarnOnAllAutoCopies
@ -292,7 +299,7 @@ CheckOptions:
- key: performance-inefficient-vector-operation.EnableProto - key: performance-inefficient-vector-operation.EnableProto
value: 'false' value: 'false'
- key: performance-inefficient-vector-operation.VectorLikeClasses - key: performance-inefficient-vector-operation.VectorLikeClasses
value: '::std::vector' value: 'std::vector'
- key: performance-move-const-arg.CheckTriviallyCopyableMove - key: performance-move-const-arg.CheckTriviallyCopyableMove
value: 'true' value: 'true'
- key: performance-move-constructor-init.IncludeStyle - key: performance-move-constructor-init.IncludeStyle
@ -307,36 +314,12 @@ CheckOptions:
value: llvm value: llvm
- key: readability-braces-around-statements.ShortStatementLines - key: readability-braces-around-statements.ShortStatementLines
value: '0' value: '0'
- key: readability-identifier-naming.AbstractClassCase
value: CamelCase
- key: readability-identifier-naming.AbstractClassPrefix
value: ''
- key: readability-identifier-naming.AbstractClassSuffix
value: ''
- key: readability-identifier-naming.AggressiveDependentMemberLookup - key: readability-identifier-naming.AggressiveDependentMemberLookup
value: 'false' value: 'false'
- key: readability-identifier-naming.ClassCase
value: Camel_Snake_Case
- key: readability-identifier-naming.ClassPrefix
value: ''
- key: readability-identifier-naming.ClassSuffix
value: ''
- key: readability-identifier-naming.GlobalConstantCase
value: UPPER_CASE
- key: readability-identifier-naming.GlobalConstantPrefix
value: ''
- key: readability-identifier-naming.GlobalConstantSuffix
value: ''
- key: readability-identifier-naming.IgnoreFailedSplit - key: readability-identifier-naming.IgnoreFailedSplit
value: 'false' value: 'false'
- key: readability-identifier-naming.IgnoreMainLikeFunctions - key: readability-identifier-naming.IgnoreMainLikeFunctions
value: 'false' value: 'false'
- key: readability-identifier-naming.StructCase
value: aNy_CasE
- key: readability-identifier-naming.StructPrefix
value: ''
- key: readability-identifier-naming.StructSuffix
value: ''
- key: readability-inconsistent-declaration-parameter-name.IgnoreMacros - key: readability-inconsistent-declaration-parameter-name.IgnoreMacros
value: 'true' value: 'true'
- key: readability-inconsistent-declaration-parameter-name.Strict - key: readability-inconsistent-declaration-parameter-name.Strict

View File

@ -1,7 +1,7 @@
# GNSS-SDR is a Global Navigation Satellite System software-defined receiver. # GNSS-SDR is a Global Navigation Satellite System software-defined receiver.
# This file is part of GNSS-SDR. # This file is part of GNSS-SDR.
# #
# SPDX-FileCopyrightText: 2010-2020 C. Fernandez-Prades cfernandez(at)cttc.es # SPDX-FileCopyrightText: 2010-2021 C. Fernandez-Prades cfernandez(at)cttc.es
# SPDX-License-Identifier: BSD-3-Clause # SPDX-License-Identifier: BSD-3-Clause
################################################################################ ################################################################################
@ -157,9 +157,9 @@ endif()
set(VERSION_INFO_MAJOR_VERSION 0) set(VERSION_INFO_MAJOR_VERSION 0)
set(VERSION_INFO_API_COMPAT 0) set(VERSION_INFO_API_COMPAT 0)
if(${THIS_IS_A_RELEASE}) if(${THIS_IS_A_RELEASE})
set(VERSION_INFO_MINOR_VERSION 13) set(VERSION_INFO_MINOR_VERSION 14)
else() else()
set(VERSION_INFO_MINOR_VERSION 13.git-${GIT_BRANCH}-${GIT_COMMIT_HASH}) set(VERSION_INFO_MINOR_VERSION 14.git-${GIT_BRANCH}-${GIT_COMMIT_HASH})
endif() endif()
set(VERSION ${VERSION_INFO_MAJOR_VERSION}.${VERSION_INFO_API_COMPAT}.${VERSION_INFO_MINOR_VERSION}) set(VERSION ${VERSION_INFO_MAJOR_VERSION}.${VERSION_INFO_API_COMPAT}.${VERSION_INFO_MINOR_VERSION})
@ -327,7 +327,7 @@ set(GNSSSDR_GTEST_LOCAL_VERSION "1.10.0")
set(GNSSSDR_GNSS_SIM_LOCAL_VERSION "master") set(GNSSSDR_GNSS_SIM_LOCAL_VERSION "master")
set(GNSSSDR_GPSTK_LOCAL_VERSION "8.0.0") set(GNSSSDR_GPSTK_LOCAL_VERSION "8.0.0")
set(GNSSSDR_MATIO_LOCAL_VERSION "1.5.19") set(GNSSSDR_MATIO_LOCAL_VERSION "1.5.19")
set(GNSSSDR_PUGIXML_LOCAL_VERSION "1.11.2") set(GNSSSDR_PUGIXML_LOCAL_VERSION "1.11.4")
set(GNSSSDR_PROTOCOLBUFFERS_LOCAL_VERSION "3.14.0") set(GNSSSDR_PROTOCOLBUFFERS_LOCAL_VERSION "3.14.0")
set(GNSSSDR_BENCHMARK_LOCAL_VERSION "1.5.2") set(GNSSSDR_BENCHMARK_LOCAL_VERSION "1.5.2")
set(GNSSSDR_MATHJAX_EXTERNAL_VERSION "2.7.7") set(GNSSSDR_MATHJAX_EXTERNAL_VERSION "2.7.7")

View File

@ -4,11 +4,11 @@ SPDX-License-Identifier: GPL-3.0-or-later
) )
[comment]: # ( [comment]: # (
SPDX-FileCopyrightText: 2011-2020 Carles Fernandez-Prades <carles.fernandez@cttc.es> SPDX-FileCopyrightText: 2011-2021 Carles Fernandez-Prades <carles.fernandez@cttc.es>
) )
<!-- prettier-ignore-end --> <!-- prettier-ignore-end -->
## [Unreleased](https://github.com/gnss-sdr/gnss-sdr/tree/next) ## [GNSS-SDR v0.0.14](https://github.com/gnss-sdr/gnss-sdr/releases/tag/v0.0.14)
### Improvements in Availability: ### Improvements in Availability:
@ -37,6 +37,16 @@ SPDX-FileCopyrightText: 2011-2020 Carles Fernandez-Prades <carles.fernandez@cttc
handle the `boost::shared_ptr` to `std::shared_ptr` transition in GNU Radio handle the `boost::shared_ptr` to `std::shared_ptr` transition in GNU Radio
3.9 API more nicely. 3.9 API more nicely.
- Support new FFT and firdes blocks' API in GNU Radio 3.9. - Support new FFT and firdes blocks' API in GNU Radio 3.9.
- Added detection of inconsistent function prototypes in `volk_gnsssdr` library
kernels at compile time.
- Fixed defects detected by clang-tidy check `bugprone-reserved-identifier`, and
added to the checks list. This check corresponds to CERT C Coding Standard
rule
[DCL37-C](https://wiki.sei.cmu.edu/confluence/display/c/DCL37-C.+Do+not+declare+or+define+a+reserved+identifier)
as well as its C++ counterpart,
[DCL51-CPP](https://wiki.sei.cmu.edu/confluence/display/cplusplus/DCL51-CPP.+Do+not+declare+or+define+a+reserved+identifier).
- Applied and added more clang-tidy checks related to readability:
`readability-make-member-function-const` and `readability-qualified-auto`.
### Improvements in Portability: ### Improvements in Portability:
@ -59,6 +69,9 @@ SPDX-FileCopyrightText: 2011-2020 Carles Fernandez-Prades <carles.fernandez@cttc
everything is managed by the CMake scripts. everything is managed by the CMake scripts.
- The `volk_gnsssdr` library can be built on Microsoft Windows and can execute - The `volk_gnsssdr` library can be built on Microsoft Windows and can execute
SIMD instructions on that OS. SIMD instructions on that OS.
- Removed all instances of `_mm256_zeroupper()` in the `volk_gnsssdr` library,
since they are not required and lead to miscompilation with GCC 10.2 and
optimization level `-O3`.
- Fixed building with `-DENABLE_CUDA=ON` for blocks implemented with CUDA. - Fixed building with `-DENABLE_CUDA=ON` for blocks implemented with CUDA.
- Fixed linking against the ORC library if it is present in the system. - Fixed linking against the ORC library if it is present in the system.
- Fixed a bug introduced in v0.0.13 that prevented getting Galileo-only PVT - Fixed a bug introduced in v0.0.13 that prevented getting Galileo-only PVT

View File

@ -2,7 +2,7 @@
.\" SPDX-License-Identifier: GPL-3.0-or-later .\" SPDX-License-Identifier: GPL-3.0-or-later
.\" SPDX-FileCopyrightText: Carles Fernandez-Prades <carles.fernandez(at)cttc.es> .\" SPDX-FileCopyrightText: Carles Fernandez-Prades <carles.fernandez(at)cttc.es>
.\" Contact carles.fernandez@cttc.es to correct errors or typos. .\" Contact carles.fernandez@cttc.es to correct errors or typos.
.TH gnss\-sdr 1 "29 Jul 2020" "0.0.13" "gnss\-sdr man page" .TH gnss\-sdr 1 "29 Jul 2020" "0.0.14" "gnss\-sdr man page"
.SH NAME .SH NAME
\fBgnss\-sdr\fR \- GNSS Software Defined Receiver. \fBgnss\-sdr\fR \- GNSS Software Defined Receiver.
.SH SYNOPSIS .SH SYNOPSIS

View File

@ -151,6 +151,10 @@ if(NOT ((CMAKE_CXX_COMPILER_ID STREQUAL "GNU") AND NOT WIN32) AND NOT (CMAKE_CXX
endif() endif()
endif() endif()
########################################################################
# Common compile flags
########################################################################
# Disable complex math NaN/INFO range checking for performance # Disable complex math NaN/INFO range checking for performance
include(CheckCXXCompilerFlag) include(CheckCXXCompilerFlag)
check_cxx_compiler_flag(-fcx-limited-range HAVE_CX_LIMITED_RANGE) check_cxx_compiler_flag(-fcx-limited-range HAVE_CX_LIMITED_RANGE)
@ -167,6 +171,21 @@ endif()
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${MY_CXX_FLAGS} -Wall") set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${MY_CXX_FLAGS} -Wall")
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall") set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall")
if(CMAKE_C_COMPILER_ID MATCHES "Clang|GNU")
# Abort compilation if kernel implementations have inconsistent function
# prototypes, i.e. if
#
# kernel_foo_sse(uint32_t *dst, lv32fc_t *src)
# kernel_foo_avx(uint16_t *dst, lv32fc_t *src)
#
# are defined. Note the different data type of the first argument). By
# default 'incompatible-pointer-types' is a warning only and 'pointer-sign'
# is a warning enabled by '-Wall'. These warnings are only applicable to C.
if(NOT (CMAKE_C_COMPILER_ID MATCHES "GNU" AND CMAKE_C_COMPILER_VERSION VERSION_LESS "5.0"))
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Werror=incompatible-pointer-types -Werror=pointer-sign")
endif()
endif()
option(ENABLE_STRIP "Create a stripped volk_gnsssdr_profile binary (without debugging symbols)" OFF) option(ENABLE_STRIP "Create a stripped volk_gnsssdr_profile binary (without debugging symbols)" OFF)
if(ENABLE_STRIP) if(ENABLE_STRIP)
set(CMAKE_VERBOSE_MAKEFILE ON) set(CMAKE_VERBOSE_MAKEFILE ON)
@ -184,7 +203,7 @@ message(STATUS "Build type set to ${CMAKE_BUILD_TYPE}.")
set(VERSION_INFO_MAJOR_VERSION 0) set(VERSION_INFO_MAJOR_VERSION 0)
set(VERSION_INFO_MINOR_VERSION 0) set(VERSION_INFO_MINOR_VERSION 0)
set(VERSION_INFO_MAINT_VERSION 13) set(VERSION_INFO_MAINT_VERSION 14)
include(VolkVersion) # setup version info include(VolkVersion) # setup version info

View File

@ -120,7 +120,6 @@ if(FILESYSTEM_FIND_QUIETLY)
endif() endif()
# All of our tests require C++17 or later # All of our tests require C++17 or later
set(CMAKE_CXX_STANDARD 17)
if((CMAKE_CXX_COMPILER_ID STREQUAL "GNU") AND (CMAKE_CXX_COMPILER_VERSION VERSION_GREATER "9.0.0")) if((CMAKE_CXX_COMPILER_ID STREQUAL "GNU") AND (CMAKE_CXX_COMPILER_VERSION VERSION_GREATER "9.0.0"))
set(CMAKE_REQUIRED_FLAGS "-std=c++17") set(CMAKE_REQUIRED_FLAGS "-std=c++17")
endif() endif()

View File

@ -2,7 +2,7 @@
.\" SPDX-License-Identifier: GPL-3.0-or-later .\" SPDX-License-Identifier: GPL-3.0-or-later
.\" SPDX-FileCopyrightText: Carles Fernandez-Prades <carles.fernandez(at)cttc.es> .\" SPDX-FileCopyrightText: Carles Fernandez-Prades <carles.fernandez(at)cttc.es>
.\" Contact carles.fernandez@cttc.es to correct errors or typos. .\" Contact carles.fernandez@cttc.es to correct errors or typos.
.TH volk_gnsssdr\-config\-info 1 "29 Jul 2020" "0.0.13" "volk_gnsssdr\-config\-info man page" .TH volk_gnsssdr\-config\-info 1 "29 Jul 2020" "0.0.14" "volk_gnsssdr\-config\-info man page"
.SH NAME .SH NAME
\fBvolk_gnsssdr\-config\-info\fR \- Prints configuration information of libvolk_gnsssdr functions. \fBvolk_gnsssdr\-config\-info\fR \- Prints configuration information of libvolk_gnsssdr functions.
.SH SYNOPSIS .SH SYNOPSIS

View File

@ -2,7 +2,7 @@
.\" SPDX-License-Identifier: GPL-3.0-or-later .\" SPDX-License-Identifier: GPL-3.0-or-later
.\" SPDX-FileCopyrightText: Carles Fernandez-Prades <carles.fernandez(at)cttc.es> .\" SPDX-FileCopyrightText: Carles Fernandez-Prades <carles.fernandez(at)cttc.es>
.\" Contact carles.fernandez@cttc.es to correct errors or typos. .\" Contact carles.fernandez@cttc.es to correct errors or typos.
.TH volk_gnsssdr_profile 1 "29 Jul 2020" "0.0.13" "volk_gnsssdr_profile man page" .TH volk_gnsssdr_profile 1 "29 Jul 2020" "0.0.14" "volk_gnsssdr_profile man page"
.SH NAME .SH NAME
\fBvolk_gnsssdr_profile\fR \- Profiler application for libvolk_gnsssdr functions. \fBvolk_gnsssdr_profile\fR \- Profiler application for libvolk_gnsssdr functions.
.SH SYNOPSIS .SH SYNOPSIS

View File

@ -416,7 +416,7 @@ static inline void volk_gnsssdr_16i_xn_resampler_16i_xn_a_avx(int16_t** result,
indexn = _mm256_add_ps(indexn, eights); indexn = _mm256_add_ps(indexn, eights);
} }
} }
_mm256_zeroupper();
for (current_correlator_tap = 0; current_correlator_tap < num_out_vectors; current_correlator_tap++) for (current_correlator_tap = 0; current_correlator_tap < num_out_vectors; current_correlator_tap++)
{ {
for (n = avx_iters * 8; n < num_points; n++) for (n = avx_iters * 8; n < num_points; n++)
@ -494,7 +494,7 @@ static inline void volk_gnsssdr_16i_xn_resampler_16i_xn_u_avx(int16_t** result,
indexn = _mm256_add_ps(indexn, eights); indexn = _mm256_add_ps(indexn, eights);
} }
} }
_mm256_zeroupper();
for (current_correlator_tap = 0; current_correlator_tap < num_out_vectors; current_correlator_tap++) for (current_correlator_tap = 0; current_correlator_tap < num_out_vectors; current_correlator_tap++)
{ {
for (n = avx_iters * 8; n < num_points; n++) for (n = avx_iters * 8; n < num_points; n++)

View File

@ -611,7 +611,6 @@ static inline void volk_gnsssdr_16ic_16i_rotator_dot_prod_16ic_xn_a_avx2(lv_16sc
} }
volk_gnsssdr_free(cacc); volk_gnsssdr_free(cacc);
_mm256_zeroupper();
_mm256_store_ps((float*)four_phase_acc, four_phase_acc_reg); _mm256_store_ps((float*)four_phase_acc, four_phase_acc_reg);
(*phase) = four_phase_acc[0]; (*phase) = four_phase_acc[0];
@ -763,7 +762,6 @@ static inline void volk_gnsssdr_16ic_16i_rotator_dot_prod_16ic_xn_u_avx2(lv_16sc
} }
volk_gnsssdr_free(cacc); volk_gnsssdr_free(cacc);
_mm256_zeroupper();
_mm256_store_ps((float*)four_phase_acc, four_phase_acc_reg); _mm256_store_ps((float*)four_phase_acc, four_phase_acc_reg);
(*phase) = four_phase_acc[0]; (*phase) = four_phase_acc[0];

View File

@ -129,7 +129,7 @@ static inline void volk_gnsssdr_16ic_convert_32fc_u_axv(lv_32fc_t* outputVector,
_in += 4; _in += 4;
_out += 4; _out += 4;
} }
_mm256_zeroupper();
for (i = 0; i < (num_points % 4); ++i) for (i = 0; i < (num_points % 4); ++i)
{ {
*_out++ = lv_cmake((float)lv_creal(*_in), (float)lv_cimag(*_in)); *_out++ = lv_cmake((float)lv_creal(*_in), (float)lv_cimag(*_in));
@ -156,7 +156,7 @@ static inline void volk_gnsssdr_16ic_convert_32fc_a_axv(lv_32fc_t* outputVector,
_in += 4; _in += 4;
_out += 4; _out += 4;
} }
_mm256_zeroupper();
for (i = 0; i < (num_points % 4); ++i) for (i = 0; i < (num_points % 4); ++i)
{ {
*_out++ = lv_cmake((float)lv_creal(*_in), (float)lv_cimag(*_in)); *_out++ = lv_cmake((float)lv_creal(*_in), (float)lv_cimag(*_in));

View File

@ -282,7 +282,6 @@ static inline void volk_gnsssdr_16ic_x2_dot_prod_16ic_u_axv2(lv_16sc_t* out, con
result = _mm256_or_si256(realcacc, imagcacc); result = _mm256_or_si256(realcacc, imagcacc);
_mm256_storeu_si256((__m256i*)dotProductVector, result); // Store the results back into the dot product vector _mm256_storeu_si256((__m256i*)dotProductVector, result); // Store the results back into the dot product vector
_mm256_zeroupper();
for (i = 0; i < 8; ++i) for (i = 0; i < 8; ++i)
{ {
@ -360,7 +359,6 @@ static inline void volk_gnsssdr_16ic_x2_dot_prod_16ic_a_axv2(lv_16sc_t* out, con
result = _mm256_or_si256(realcacc, imagcacc); result = _mm256_or_si256(realcacc, imagcacc);
_mm256_store_si256((__m256i*)dotProductVector, result); // Store the results back into the dot product vector _mm256_store_si256((__m256i*)dotProductVector, result); // Store the results back into the dot product vector
_mm256_zeroupper();
for (i = 0; i < 8; ++i) for (i = 0; i < 8; ++i)
{ {

View File

@ -364,7 +364,6 @@ static inline void volk_gnsssdr_16ic_x2_dot_prod_16ic_xn_a_avx2(lv_16sc_t* resul
volk_gnsssdr_free(realcacc); volk_gnsssdr_free(realcacc);
volk_gnsssdr_free(imagcacc); volk_gnsssdr_free(imagcacc);
} }
_mm256_zeroupper();
for (n_vec = 0; n_vec < num_a_vectors; n_vec++) for (n_vec = 0; n_vec < num_a_vectors; n_vec++)
{ {
@ -459,7 +458,6 @@ static inline void volk_gnsssdr_16ic_x2_dot_prod_16ic_xn_u_avx2(lv_16sc_t* resul
volk_gnsssdr_free(realcacc); volk_gnsssdr_free(realcacc);
volk_gnsssdr_free(imagcacc); volk_gnsssdr_free(imagcacc);
} }
_mm256_zeroupper();
for (n_vec = 0; n_vec < num_a_vectors; n_vec++) for (n_vec = 0; n_vec < num_a_vectors; n_vec++)
{ {

View File

@ -214,7 +214,7 @@ static inline void volk_gnsssdr_16ic_x2_multiply_16ic_u_avx2(lv_16sc_t* out, con
_in_b += 8; _in_b += 8;
_out += 8; _out += 8;
} }
_mm256_zeroupper();
number = avx2_points * 8; number = avx2_points * 8;
for (; number < num_points; number++) for (; number < num_points; number++)
{ {
@ -268,7 +268,7 @@ static inline void volk_gnsssdr_16ic_x2_multiply_16ic_a_avx2(lv_16sc_t* out, con
_in_b += 8; _in_b += 8;
_out += 8; _out += 8;
} }
_mm256_zeroupper();
number = avx2_points * 8; number = avx2_points * 8;
for (; number < num_points; number++) for (; number < num_points; number++)
{ {

View File

@ -945,7 +945,7 @@ static inline void volk_gnsssdr_16ic_x2_rotator_dot_prod_16ic_xn_a_avx2(lv_16sc_
volk_gnsssdr_free(realcacc); volk_gnsssdr_free(realcacc);
volk_gnsssdr_free(imagcacc); volk_gnsssdr_free(imagcacc);
_mm256_zeroupper();
_mm_store_ps((float*)two_phase_acc, two_phase_acc_reg); _mm_store_ps((float*)two_phase_acc, two_phase_acc_reg);
(*phase) = two_phase_acc[0]; (*phase) = two_phase_acc[0];
@ -1261,7 +1261,7 @@ static inline void volk_gnsssdr_16ic_x2_rotator_dot_prod_16ic_xn_a_avx2_reload(l
} }
_out[n_vec] = dotProduct; _out[n_vec] = dotProduct;
} }
_mm256_zeroupper();
volk_gnsssdr_free(realcacc); volk_gnsssdr_free(realcacc);
volk_gnsssdr_free(imagcacc); volk_gnsssdr_free(imagcacc);

View File

@ -415,7 +415,7 @@ static inline void volk_gnsssdr_16ic_xn_resampler_16ic_xn_a_avx(lv_16sc_t** resu
indexn = _mm256_add_ps(indexn, eights); indexn = _mm256_add_ps(indexn, eights);
} }
} }
_mm256_zeroupper();
for (current_correlator_tap = 0; current_correlator_tap < num_out_vectors; current_correlator_tap++) for (current_correlator_tap = 0; current_correlator_tap < num_out_vectors; current_correlator_tap++)
{ {
for (n = avx_iters * 8; n < num_points; n++) for (n = avx_iters * 8; n < num_points; n++)
@ -493,7 +493,7 @@ static inline void volk_gnsssdr_16ic_xn_resampler_16ic_xn_u_avx(lv_16sc_t** resu
indexn = _mm256_add_ps(indexn, eights); indexn = _mm256_add_ps(indexn, eights);
} }
} }
_mm256_zeroupper();
for (current_correlator_tap = 0; current_correlator_tap < num_out_vectors; current_correlator_tap++) for (current_correlator_tap = 0; current_correlator_tap < num_out_vectors; current_correlator_tap++)
{ {
for (n = avx_iters * 8; n < num_points; n++) for (n = avx_iters * 8; n < num_points; n++)

View File

@ -491,8 +491,6 @@ static inline void volk_gnsssdr_32f_xn_high_dynamics_resampler_32f_xn_a_avx(floa
indexn = _mm256_add_ps(indexn, eights); indexn = _mm256_add_ps(indexn, eights);
} }
_mm256_zeroupper();
for (n = avx_iters * 8; n < num_points; n++) for (n = avx_iters * 8; n < num_points; n++)
{ {
// resample code for first tap // resample code for first tap
@ -579,8 +577,6 @@ static inline void volk_gnsssdr_32f_xn_high_dynamics_resampler_32f_xn_u_avx(floa
indexn = _mm256_add_ps(indexn, eights); indexn = _mm256_add_ps(indexn, eights);
} }
_mm256_zeroupper();
for (n = avx_iters * 8; n < num_points; n++) for (n = avx_iters * 8; n < num_points; n++)
{ {
// resample code for first tap // resample code for first tap

View File

@ -417,7 +417,7 @@ static inline void volk_gnsssdr_32f_xn_resampler_32f_xn_a_avx(float** result, co
indexn = _mm256_add_ps(indexn, eights); indexn = _mm256_add_ps(indexn, eights);
} }
} }
_mm256_zeroupper();
for (current_correlator_tap = 0; current_correlator_tap < num_out_vectors; current_correlator_tap++) for (current_correlator_tap = 0; current_correlator_tap < num_out_vectors; current_correlator_tap++)
{ {
for (n = avx_iters * 8; n < num_points; n++) for (n = avx_iters * 8; n < num_points; n++)
@ -495,7 +495,7 @@ static inline void volk_gnsssdr_32f_xn_resampler_32f_xn_u_avx(float** result, co
indexn = _mm256_add_ps(indexn, eights); indexn = _mm256_add_ps(indexn, eights);
} }
} }
_mm256_zeroupper();
for (current_correlator_tap = 0; current_correlator_tap < num_out_vectors; current_correlator_tap++) for (current_correlator_tap = 0; current_correlator_tap < num_out_vectors; current_correlator_tap++)
{ {
for (n = avx_iters * 8; n < num_points; n++) for (n = avx_iters * 8; n < num_points; n++)

View File

@ -294,7 +294,6 @@ static inline void volk_gnsssdr_32fc_32f_rotator_dot_prod_32fc_xn_u_avx(lv_32fc_
z0 = _mm256_complexnormalise_ps(z0); z0 = _mm256_complexnormalise_ps(z0);
_mm256_store_ps((float*)phase_vec, z0); _mm256_store_ps((float*)phase_vec, z0);
_phase = phase_vec[0]; _phase = phase_vec[0];
_mm256_zeroupper();
number = sixteenthPoints * 16; number = sixteenthPoints * 16;
for (; number < num_points; number++) for (; number < num_points; number++)
@ -462,7 +461,6 @@ static inline void volk_gnsssdr_32fc_32f_rotator_dot_prod_32fc_xn_a_avx(lv_32fc_
z0 = _mm256_complexnormalise_ps(z0); z0 = _mm256_complexnormalise_ps(z0);
_mm256_store_ps((float*)phase_vec, z0); _mm256_store_ps((float*)phase_vec, z0);
_phase = phase_vec[0]; _phase = phase_vec[0];
_mm256_zeroupper();
number = sixteenthPoints * 16; number = sixteenthPoints * 16;
for (; number < num_points; number++) for (; number < num_points; number++)

View File

@ -488,7 +488,6 @@ static inline void volk_gnsssdr_32fc_x2_rotator_dot_prod_32fc_xn_u_avx(lv_32fc_t
_mm256_store_ps((float*)four_phase_acc, four_phase_acc_reg); _mm256_store_ps((float*)four_phase_acc, four_phase_acc_reg);
_phase = four_phase_acc[0]; _phase = four_phase_acc[0];
_mm256_zeroupper();
for (n = avx_iters * 4; n < num_points; n++) for (n = avx_iters * 4; n < num_points; n++)
{ {
@ -618,7 +617,6 @@ static inline void volk_gnsssdr_32fc_x2_rotator_dot_prod_32fc_xn_a_avx(lv_32fc_t
_mm256_store_ps((float*)four_phase_acc, four_phase_acc_reg); _mm256_store_ps((float*)four_phase_acc, four_phase_acc_reg);
_phase = four_phase_acc[0]; _phase = four_phase_acc[0];
_mm256_zeroupper();
for (n = avx_iters * 4; n < num_points; n++) for (n = avx_iters * 4; n < num_points; n++)
{ {

View File

@ -414,7 +414,7 @@ static inline void volk_gnsssdr_32fc_xn_resampler_32fc_xn_a_avx(lv_32fc_t** resu
indexn = _mm256_add_ps(indexn, eights); indexn = _mm256_add_ps(indexn, eights);
} }
} }
_mm256_zeroupper();
for (current_correlator_tap = 0; current_correlator_tap < num_out_vectors; current_correlator_tap++) for (current_correlator_tap = 0; current_correlator_tap < num_out_vectors; current_correlator_tap++)
{ {
for (n = avx_iters * 8; n < num_points; n++) for (n = avx_iters * 8; n < num_points; n++)
@ -492,7 +492,7 @@ static inline void volk_gnsssdr_32fc_xn_resampler_32fc_xn_u_avx(lv_32fc_t** resu
indexn = _mm256_add_ps(indexn, eights); indexn = _mm256_add_ps(indexn, eights);
} }
} }
_mm256_zeroupper();
for (current_correlator_tap = 0; current_correlator_tap < num_out_vectors; current_correlator_tap++) for (current_correlator_tap = 0; current_correlator_tap < num_out_vectors; current_correlator_tap++)
{ {
for (n = avx_iters * 8; n < num_points; n++) for (n = avx_iters * 8; n < num_points; n++)
@ -571,7 +571,7 @@ static inline void volk_gnsssdr_32fc_xn_resampler_32fc_xn_u_avx2(lv_32fc_t** res
indexn = _mm256_add_ps(indexn, eights); indexn = _mm256_add_ps(indexn, eights);
} }
} }
_mm256_zeroupper();
for (current_correlator_tap = 0; current_correlator_tap < num_out_vectors; current_correlator_tap++) for (current_correlator_tap = 0; current_correlator_tap < num_out_vectors; current_correlator_tap++)
{ {
for (n = avx_iters * 8; n < num_points; n++) for (n = avx_iters * 8; n < num_points; n++)
@ -650,7 +650,7 @@ static inline void volk_gnsssdr_32fc_xn_resampler_32fc_xn_a_avx2(lv_32fc_t** res
indexn = _mm256_add_ps(indexn, eights); indexn = _mm256_add_ps(indexn, eights);
} }
} }
_mm256_zeroupper();
for (current_correlator_tap = 0; current_correlator_tap < num_out_vectors; current_correlator_tap++) for (current_correlator_tap = 0; current_correlator_tap < num_out_vectors; current_correlator_tap++)
{ {
for (n = avx_iters * 8; n < num_points; n++) for (n = avx_iters * 8; n < num_points; n++)

View File

@ -616,7 +616,7 @@ static inline void volk_gnsssdr_s32f_sincos_32fc_a_avx2(lv_32fc_t *out, const fl
eight_phases_reg = _mm256_add_ps(eight_phases_reg, eight_phases_inc_reg); eight_phases_reg = _mm256_add_ps(eight_phases_reg, eight_phases_inc_reg);
} }
_mm256_zeroupper();
_phase = _phase + phase_inc * (avx_iters * 8); _phase = _phase + phase_inc * (avx_iters * 8);
for (number = avx_iters * 8; number < num_points; number++) for (number = avx_iters * 8; number < num_points; number++)
{ {
@ -803,7 +803,7 @@ static inline void volk_gnsssdr_s32f_sincos_32fc_u_avx2(lv_32fc_t *out, const fl
eight_phases_reg = _mm256_add_ps(eight_phases_reg, eight_phases_inc_reg); eight_phases_reg = _mm256_add_ps(eight_phases_reg, eight_phases_inc_reg);
} }
_mm256_zeroupper();
_phase = _phase + phase_inc * (avx_iters * 8); _phase = _phase + phase_inc * (avx_iters * 8);
for (number = avx_iters * 8; number < num_points; number++) for (number = avx_iters * 8; number < num_points; number++)
{ {

View File

@ -755,7 +755,7 @@ asn_dec_rval_t CHOICE_decode_xer(asn_codec_ctx_t *opt_codec_ctx,
{ {
RETURN(tmprval.code); RETURN(tmprval.code);
} }
assert(_fetch_present_idx(st, specs->pres_offset, assert(fetch_present_idx(st, specs->pres_offset,
specs->pres_size) == 0); specs->pres_size) == 0);
/* Record what we've got */ /* Record what we've got */
set_present_idx(st, specs->pres_offset, specs->pres_size, set_present_idx(st, specs->pres_offset, specs->pres_size,

View File

@ -755,7 +755,7 @@ asn_dec_rval_t CHOICE_decode_xer(asn_codec_ctx_t *opt_codec_ctx,
{ {
RETURN(tmprval.code); RETURN(tmprval.code);
} }
assert(_fetch_present_idx(st, specs->pres_offset, assert(fetch_present_idx(st, specs->pres_offset,
specs->pres_size) == 0); specs->pres_size) == 0);
/* Record what we've got */ /* Record what we've got */
set_present_idx(st, specs->pres_offset, specs->pres_size, set_present_idx(st, specs->pres_offset, specs->pres_size,

View File

@ -18,7 +18,7 @@
*/ */
#ifndef GNSS_SDR_VERSION #ifndef GNSS_SDR_VERSION
#define GNSS_SDR_VERSION "0.0.13" #define GNSS_SDR_VERSION "0.0.14"
#endif #endif
#ifndef GOOGLE_STRIP_LOG #ifndef GOOGLE_STRIP_LOG