[hamradio-commits] [gnss-sdr] 44/236: Merge branch 'next' of https://github.com/carlesfernandez/gnss-sdr into neon
Carles Fernandez
carles_fernandez-guest at moszumanska.debian.org
Tue Apr 26 16:02:14 UTC 2016
This is an automated email from the git hooks/post-receive script.
carles_fernandez-guest pushed a commit to branch next
in repository gnss-sdr.
commit 8991b455fb64073aac5ab72ce2aaa1606e50d21b
Merge: 907846d b2a654c
Author: Carles Fernandez <carles.fernandez at gmail.com>
Date: Mon Feb 15 20:23:00 2016 +0100
Merge branch 'next' of https://github.com/carlesfernandez/gnss-sdr into
neon
# Conflicts:
# src/algorithms/libs/volk_gnsssdr_module/volk_gnsssdr/kernels/volk_gnsssdr/volk_gnsssdr_16ic_x2_dotprodxnpuppet_16ic.h
# src/algorithms/libs/volk_gnsssdr_module/volk_gnsssdr/kernels/volk_gnsssdr/volk_gnsssdr_16ic_x2_rotator_dot_prod_16ic_xn.h
README.md | 2 +-
build/.gitignore | 16 ++---
.../volk_gnsssdr_16ic_x2_dot_prod_16ic_xn.h | 54 +++++++-------
.../volk_gnsssdr_16ic_x2_dotprodxnpuppet_16ic.h | 14 ++--
...volk_gnsssdr_16ic_x2_rotator_dot_prod_16ic_xn.h | 82 ++++++++++++----------
5 files changed, 82 insertions(+), 86 deletions(-)
diff --cc src/algorithms/libs/volk_gnsssdr_module/volk_gnsssdr/kernels/volk_gnsssdr/volk_gnsssdr_16ic_x2_rotator_dot_prod_16ic_xn.h
index 91e6c52,e5bd953..0b234c8
--- a/src/algorithms/libs/volk_gnsssdr_module/volk_gnsssdr/kernels/volk_gnsssdr/volk_gnsssdr_16ic_x2_rotator_dot_prod_16ic_xn.h
+++ b/src/algorithms/libs/volk_gnsssdr_module/volk_gnsssdr/kernels/volk_gnsssdr/volk_gnsssdr_16ic_x2_rotator_dot_prod_16ic_xn.h
@@@ -260,8 -263,8 +263,8 @@@ static inline void volk_gnsssdr_16ic_x2
const lv_16sc_t** _in_a = in_a;
const lv_16sc_t* _in_common = in_common;
- lv_16sc_t* _out = out;
- lv_16sc_t* _out = result;
++ lv_16sc_t* _out = result;
__VOLK_ATTR_ALIGNED(16) lv_16sc_t dotProductVector[4];
//todo dyn mem reg
@@@ -272,8 -275,8 +275,9 @@@
realcacc = (__m128i*)calloc(num_a_vectors, sizeof(__m128i)); //calloc also sets memory to 0
imagcacc = (__m128i*)calloc(num_a_vectors, sizeof(__m128i)); //calloc also sets memory to 0
- __m128i a, b, c, c_sr, mask_imag, mask_real, real, imag, imag1, imag2, b_sl, a_sl, result;
+ __m128i a, b, c, c_sr, mask_imag, mask_real, real, imag, imag1, imag2, b_sl, a_sl, results;
+
+
mask_imag = _mm_set_epi8(255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0);
mask_real = _mm_set_epi8(0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255);
@@@ -451,7 -454,7 +455,8 @@@ static inline void volk_gnsssdr_16ic_x2
float32x4_t half = vdupq_n_f32(0.5f);
int16x4x2_t tmp16;
int32x4x2_t tmp32i;
- float32x4x2_t tmp32f, tmp_real, tmp_imag;
++
+ float32x4x2_t tmp32f, tmp32_real, tmp32_imag;
float32x4_t sign, PlusHalf, Round;
int16x4x2_t* accumulator;
@@@ -481,13 -482,13 +484,14 @@@
tmp32f.val[1] = vcvtq_f32_s32(tmp32i.val[1]);
/* complex multiplication of four complex samples (float 32 bits each component) */
- tmp_real.val[0] = vmulq_f32(tmp32f.val[0], _phase_real);
- tmp_real.val[1] = vmulq_f32(tmp32f.val[1], _phase_imag);
- tmp_imag.val[0] = vmulq_f32(tmp32f.val[0], _phase_imag);
- tmp_imag.val[1] = vmulq_f32(tmp32f.val[1], _phase_real);
+
- tmp32f.val[0] = vsubq_f32(tmp_real.val[0], tmp_real.val[1]);
- tmp32f.val[1] = vaddq_f32(tmp_imag.val[0], tmp_imag.val[1]);
+ tmp32_real.val[0] = vmulq_f32(tmp32f.val[0], _phase_real);
+ tmp32_real.val[1] = vmulq_f32(tmp32f.val[1], _phase_imag);
+ tmp32_imag.val[0] = vmulq_f32(tmp32f.val[0], _phase_imag);
+ tmp32_imag.val[1] = vmulq_f32(tmp32f.val[1], _phase_real);
+
+ tmp32f.val[0] = vsubq_f32(tmp32_real.val[0], tmp32_real.val[1]);
+ tmp32f.val[1] = vaddq_f32(tmp32_imag.val[0], tmp32_imag.val[1]);
/* downcast results to int32 */
/* in __aarch64__ we can do that with vcvtaq_s32_f32(ret1); vcvtaq_s32_f32(ret2); */
--
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-hamradio/gnss-sdr.git
More information about the pkg-hamradio-commits
mailing list