1
0
mirror of https://github.com/gnss-sdr/gnss-sdr synced 2025-02-06 22:20:09 +00:00

fix sse implementation

This commit is contained in:
Carles Fernandez 2016-01-16 23:15:19 +01:00
parent a2429a851c
commit fd2af02aec

View File

@ -162,7 +162,7 @@ static inline void volk_gnsssdr_8ic_x2_dot_prod_8ic_u_sse2(lv_8sc_t* result, con
} }
} }
for (unsigned int i = 0; i<(num_points % 8); ++i) for (unsigned int i = sse_iters * 8; i < num_points; ++i)
{ {
dotProduct += (*a++) * (*b++); dotProduct += (*a++) * (*b++);
} }
@ -241,7 +241,7 @@ static inline void volk_gnsssdr_8ic_x2_dot_prod_8ic_u_sse4_1(lv_8sc_t* result, c
} }
} }
for (unsigned int i = 0; i<(num_points % 8); ++i) for (unsigned int i = sse_iters * 8; i < num_points; ++i)
{ {
dotProduct += (*a++) * (*b++); dotProduct += (*a++) * (*b++);
} }
@ -273,13 +273,14 @@ static inline void volk_gnsssdr_8ic_x2_dot_prod_8ic_u_sse4_1(lv_8sc_t* result, c
*/ */
static inline void volk_gnsssdr_8ic_x2_dot_prod_8ic_a_generic(lv_8sc_t* result, const lv_8sc_t* input, const lv_8sc_t* taps, unsigned int num_points) static inline void volk_gnsssdr_8ic_x2_dot_prod_8ic_a_generic(lv_8sc_t* result, const lv_8sc_t* input, const lv_8sc_t* taps, unsigned int num_points)
{ {
/*lv_8sc_t* cPtr = result; // lv_8sc_t* cPtr = result;
const lv_8sc_t* aPtr = input; // const lv_8sc_t* aPtr = input;
const lv_8sc_t* bPtr = taps; // const lv_8sc_t* bPtr = taps;
//
for(int number = 0; number < num_points; number++){ // for(int number = 0; number < num_points; number++)
*cPtr += (*aPtr++) * (*bPtr++); // {
}*/ // *cPtr += (*aPtr++) * (*bPtr++);
// }
char * res = (char*) result; char * res = (char*) result;
char * in = (char*) input; char * in = (char*) input;
@ -385,7 +386,7 @@ static inline void volk_gnsssdr_8ic_x2_dot_prod_8ic_a_sse2(lv_8sc_t* result, con
} }
} }
for (unsigned int i = 0; i<(num_points % 8); ++i) for (unsigned int i = sse_iters * 8; i < num_points; ++i)
{ {
dotProduct += (*a++) * (*b++); dotProduct += (*a++) * (*b++);
} }
@ -464,7 +465,7 @@ static inline void volk_gnsssdr_8ic_x2_dot_prod_8ic_a_sse4_1(lv_8sc_t* result, c
} }
} }
for (unsigned int i = 0; i<(num_points % 8); ++i) for (unsigned int i = sse_iters * 8; i < num_points; ++i)
{ {
dotProduct += (*a++) * (*b++); dotProduct += (*a++) * (*b++);
} }