1
0
mirror of https://github.com/gnss-sdr/gnss-sdr synced 2025-01-29 02:14:51 +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++);
}
@ -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++);
}
@ -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)
{
/*lv_8sc_t* cPtr = result;
const lv_8sc_t* aPtr = input;
const lv_8sc_t* bPtr = taps;
for(int number = 0; number < num_points; number++){
*cPtr += (*aPtr++) * (*bPtr++);
}*/
// lv_8sc_t* cPtr = result;
// const lv_8sc_t* aPtr = input;
// const lv_8sc_t* bPtr = taps;
//
// for(int number = 0; number < num_points; number++)
// {
// *cPtr += (*aPtr++) * (*bPtr++);
// }
char * res = (char*) result;
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++);
}
@ -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++);
}