[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