mirror of
https://github.com/gnss-sdr/gnss-sdr
synced 2024-12-14 04:00:34 +00:00
Fixing
This commit is contained in:
parent
4a2e03f9a8
commit
4128b059b1
@ -179,7 +179,7 @@ int main(int argc, char *argv[]) {
|
|||||||
VOLK_PROFILE(volk_gnsssdr_32fc_convert_8ic, 1e-4, 0, 16000, 250, &results, benchmark_mode, kernel_regex);
|
VOLK_PROFILE(volk_gnsssdr_32fc_convert_8ic, 1e-4, 0, 16000, 250, &results, benchmark_mode, kernel_regex);
|
||||||
VOLK_PROFILE(volk_gnsssdr_32fc_s32f_convert_8ic, 1e-4, 5, 16000, 250, &results, benchmark_mode, kernel_regex);
|
VOLK_PROFILE(volk_gnsssdr_32fc_s32f_convert_8ic, 1e-4, 5, 16000, 250, &results, benchmark_mode, kernel_regex);
|
||||||
|
|
||||||
/*VOLK_PROFILE(volk_gnsssdr_32f_accumulator_s32f, 1e-4, 0, 204602, 10000, &results, benchmark_mode, kernel_regex);
|
VOLK_PROFILE(volk_gnsssdr_32f_accumulator_s32f, 1e-4, 0, 204602, 10000, &results, benchmark_mode, kernel_regex);
|
||||||
VOLK_PROFILE(volk_gnsssdr_8i_accumulator_s8i, 1e-4, 0, 204602, 10000, &results, benchmark_mode, kernel_regex);
|
VOLK_PROFILE(volk_gnsssdr_8i_accumulator_s8i, 1e-4, 0, 204602, 10000, &results, benchmark_mode, kernel_regex);
|
||||||
VOLK_PROFILE(volk_gnsssdr_32f_index_max_16u, 3, 0, 204602, 5000, &results, benchmark_mode, kernel_regex);
|
VOLK_PROFILE(volk_gnsssdr_32f_index_max_16u, 3, 0, 204602, 5000, &results, benchmark_mode, kernel_regex);
|
||||||
VOLK_PROFILE(volk_gnsssdr_8i_index_max_16u, 3, 0, 204602, 5000, &results, benchmark_mode, kernel_regex);
|
VOLK_PROFILE(volk_gnsssdr_8i_index_max_16u, 3, 0, 204602, 5000, &results, benchmark_mode, kernel_regex);
|
||||||
@ -199,7 +199,7 @@ int main(int argc, char *argv[]) {
|
|||||||
VOLK_PROFILE(volk_gnsssdr_8u_x2_multiply_8u, 1e-4, 0, 204602, 1000, &results, benchmark_mode, kernel_regex);
|
VOLK_PROFILE(volk_gnsssdr_8u_x2_multiply_8u, 1e-4, 0, 204602, 1000, &results, benchmark_mode, kernel_regex);
|
||||||
VOLK_PROFILE(volk_gnsssdr_64f_accumulator_64f, 1e-4, 0, 16000, 1000, &results, benchmark_mode, kernel_regex);
|
VOLK_PROFILE(volk_gnsssdr_64f_accumulator_64f, 1e-4, 0, 16000, 1000, &results, benchmark_mode, kernel_regex);
|
||||||
VOLK_PROFILE(volk_gnsssdr_32f_s32f_convert_16i, 1e-4, 1, 204602, 250, &results, benchmark_mode, kernel_regex);
|
VOLK_PROFILE(volk_gnsssdr_32f_s32f_convert_16i, 1e-4, 1, 204602, 250, &results, benchmark_mode, kernel_regex);
|
||||||
VOLK_PROFILE(volk_gnsssdr_16i_s32f_convert_32f, 1e-4, 1, 204602, 250, &results, benchmark_mode, kernel_regex);*/
|
VOLK_PROFILE(volk_gnsssdr_16i_s32f_convert_32f, 1e-4, 1, 204602, 250, &results, benchmark_mode, kernel_regex);
|
||||||
|
|
||||||
// Until we can update the config on a kernel by kernel basis
|
// Until we can update the config on a kernel by kernel basis
|
||||||
// do not overwrite volk_config when using a regex.
|
// do not overwrite volk_config when using a regex.
|
||||||
|
@ -111,7 +111,7 @@ static inline void volk_gnsssdr_16ic_x5_cw_epl_corr_32fc_x3_u_sse4_1(lv_32fc_t*
|
|||||||
|
|
||||||
if (sse_iters>0)
|
if (sse_iters>0)
|
||||||
{
|
{
|
||||||
for(int number = 0;number < sse_iters; number++){
|
for(unsigned int number = 0;number < sse_iters; number++){
|
||||||
|
|
||||||
//Perform the carrier wipe-off
|
//Perform the carrier wipe-off
|
||||||
x1 = _mm_lddqu_si128((__m128i*)input_ptr);
|
x1 = _mm_lddqu_si128((__m128i*)input_ptr);
|
||||||
@ -193,7 +193,7 @@ static inline void volk_gnsssdr_16ic_x5_cw_epl_corr_32fc_x3_u_sse4_1(lv_32fc_t*
|
|||||||
}
|
}
|
||||||
|
|
||||||
lv_16sc_t bb_signal_sample;
|
lv_16sc_t bb_signal_sample;
|
||||||
for(int i=0; i < num_points%8; ++i)
|
for(unsigned int i=0; i < num_points%8; ++i)
|
||||||
{
|
{
|
||||||
//Perform the carrier wipe-off
|
//Perform the carrier wipe-off
|
||||||
bb_signal_sample = (*input_ptr++) * (*carrier_ptr++);
|
bb_signal_sample = (*input_ptr++) * (*carrier_ptr++);
|
||||||
@ -233,7 +233,7 @@ static inline void volk_gnsssdr_16ic_x5_cw_epl_corr_32fc_x3_generic(lv_32fc_t* E
|
|||||||
*L_out = 0;
|
*L_out = 0;
|
||||||
// perform Early, Prompt and Late correlation
|
// perform Early, Prompt and Late correlation
|
||||||
|
|
||||||
for(int i=0; i < num_points; ++i)
|
for(unsigned int i=0; i < num_points; ++i)
|
||||||
{
|
{
|
||||||
//Perform the carrier wipe-off
|
//Perform the carrier wipe-off
|
||||||
bb_signal_sample = input[i] * carrier[i];
|
bb_signal_sample = input[i] * carrier[i];
|
||||||
@ -320,7 +320,7 @@ static inline void volk_gnsssdr_16ic_x5_cw_epl_corr_32fc_x3_a_sse4_1(lv_32fc_t*
|
|||||||
|
|
||||||
if (sse_iters>0)
|
if (sse_iters>0)
|
||||||
{
|
{
|
||||||
for(int number = 0;number < sse_iters; number++){
|
for(unsigned int number = 0;number < sse_iters; number++){
|
||||||
|
|
||||||
//Perform the carrier wipe-off
|
//Perform the carrier wipe-off
|
||||||
x1 = _mm_load_si128((__m128i*)input_ptr);
|
x1 = _mm_load_si128((__m128i*)input_ptr);
|
||||||
@ -402,7 +402,7 @@ static inline void volk_gnsssdr_16ic_x5_cw_epl_corr_32fc_x3_a_sse4_1(lv_32fc_t*
|
|||||||
}
|
}
|
||||||
|
|
||||||
lv_16sc_t bb_signal_sample;
|
lv_16sc_t bb_signal_sample;
|
||||||
for(int i=0; i < num_points%8; ++i)
|
for(unsigned int i=0; i < num_points%8; ++i)
|
||||||
{
|
{
|
||||||
//Perform the carrier wipe-off
|
//Perform the carrier wipe-off
|
||||||
bb_signal_sample = (*input_ptr++) * (*carrier_ptr++);
|
bb_signal_sample = (*input_ptr++) * (*carrier_ptr++);
|
||||||
@ -442,7 +442,7 @@ static inline void volk_gnsssdr_16ic_x5_cw_epl_corr_32fc_x3_a_generic(lv_32fc_t*
|
|||||||
*L_out = 0;
|
*L_out = 0;
|
||||||
// perform Early, Prompt and Late correlation
|
// perform Early, Prompt and Late correlation
|
||||||
|
|
||||||
for(int i=0; i < num_points; ++i)
|
for(unsigned int i=0; i < num_points; ++i)
|
||||||
{
|
{
|
||||||
//Perform the carrier wipe-off
|
//Perform the carrier wipe-off
|
||||||
bb_signal_sample = input[i] * carrier[i];
|
bb_signal_sample = input[i] * carrier[i];
|
||||||
|
@ -89,9 +89,13 @@ static inline void volk_gnsssdr_16ic_x5_cw_epl_corr_TEST_32fc_x3_u_sse4_1_first(
|
|||||||
const lv_16sc_t* _P_code = P_code;
|
const lv_16sc_t* _P_code = P_code;
|
||||||
const lv_16sc_t* _L_code = L_code;
|
const lv_16sc_t* _L_code = L_code;
|
||||||
|
|
||||||
|
dotProduct_E = 0;
|
||||||
|
dotProduct_P = 0;
|
||||||
|
dotProduct_L = 0;
|
||||||
|
|
||||||
if (sse_iters>0)
|
if (sse_iters>0)
|
||||||
{
|
{
|
||||||
for(int number = 0;number < sse_iters; number++)
|
for(unsigned int number = 0;number < sse_iters; number++)
|
||||||
{
|
{
|
||||||
//Perform the carrier wipe-off
|
//Perform the carrier wipe-off
|
||||||
x = _mm_lddqu_si128((__m128i*)_input); // Load the ar + ai, br + bi as ar,ai,br,bi
|
x = _mm_lddqu_si128((__m128i*)_input); // Load the ar + ai, br + bi as ar,ai,br,bi
|
||||||
@ -203,7 +207,7 @@ static inline void volk_gnsssdr_16ic_x5_cw_epl_corr_TEST_32fc_x3_u_sse4_1_first(
|
|||||||
dotProduct_L = ( dotProductVector_L[0] + dotProductVector_L[1] );
|
dotProduct_L = ( dotProductVector_L[0] + dotProductVector_L[1] );
|
||||||
}
|
}
|
||||||
|
|
||||||
for(int i=0; i < num_points%4; ++i)
|
for(unsigned int i=0; i < num_points%4; ++i)
|
||||||
{
|
{
|
||||||
dotProduct_E += (lv_32fc_t)((*_input) * (*_E_code++)*(*_carrier));
|
dotProduct_E += (lv_32fc_t)((*_input) * (*_E_code++)*(*_carrier));
|
||||||
dotProduct_P += (lv_32fc_t)((*_input) * (*_P_code++)*(*_carrier));
|
dotProduct_P += (lv_32fc_t)((*_input) * (*_P_code++)*(*_carrier));
|
||||||
@ -276,7 +280,7 @@ static inline void volk_gnsssdr_16ic_x5_cw_epl_corr_TEST_32fc_x3_u_sse4_1_second
|
|||||||
|
|
||||||
if (sse_iters>0)
|
if (sse_iters>0)
|
||||||
{
|
{
|
||||||
for(int number = 0;number < sse_iters; number++){
|
for(unsigned int number = 0;number < sse_iters; number++){
|
||||||
|
|
||||||
//Perform the carrier wipe-off
|
//Perform the carrier wipe-off
|
||||||
x1 = _mm_lddqu_si128((__m128i*)input_ptr);
|
x1 = _mm_lddqu_si128((__m128i*)input_ptr);
|
||||||
@ -446,7 +450,7 @@ static inline void volk_gnsssdr_16ic_x5_cw_epl_corr_TEST_32fc_x3_u_sse4_1_second
|
|||||||
}
|
}
|
||||||
|
|
||||||
lv_16sc_t bb_signal_sample;
|
lv_16sc_t bb_signal_sample;
|
||||||
for(int i=0; i < num_points%8; ++i)
|
for(unsigned int i=0; i < num_points%8; ++i)
|
||||||
{
|
{
|
||||||
//Perform the carrier wipe-off
|
//Perform the carrier wipe-off
|
||||||
bb_signal_sample = (*input_ptr++) * (*carrier_ptr++);
|
bb_signal_sample = (*input_ptr++) * (*carrier_ptr++);
|
||||||
@ -735,7 +739,7 @@ static inline void volk_gnsssdr_16ic_x5_cw_epl_corr_TEST_32fc_x3_u_sse4_1_fourth
|
|||||||
|
|
||||||
if (sse_iters>0)
|
if (sse_iters>0)
|
||||||
{
|
{
|
||||||
for(int number = 0;number < sse_iters; number++){
|
for(unsigned int number = 0;number < sse_iters; number++){
|
||||||
|
|
||||||
//Perform the carrier wipe-off
|
//Perform the carrier wipe-off
|
||||||
x1 = _mm_lddqu_si128((__m128i*)input_ptr);
|
x1 = _mm_lddqu_si128((__m128i*)input_ptr);
|
||||||
@ -899,7 +903,7 @@ static inline void volk_gnsssdr_16ic_x5_cw_epl_corr_TEST_32fc_x3_u_sse4_1_fourth
|
|||||||
}
|
}
|
||||||
|
|
||||||
lv_16sc_t bb_signal_sample;
|
lv_16sc_t bb_signal_sample;
|
||||||
for(int i=0; i < num_points%8; ++i)
|
for(unsigned int i=0; i < num_points%8; ++i)
|
||||||
{
|
{
|
||||||
//Perform the carrier wipe-off
|
//Perform the carrier wipe-off
|
||||||
bb_signal_sample = (*input_ptr++) * (*carrier_ptr++);
|
bb_signal_sample = (*input_ptr++) * (*carrier_ptr++);
|
||||||
@ -970,7 +974,7 @@ static inline void volk_gnsssdr_16ic_x5_cw_epl_corr_TEST_32fc_x3_u_sse4_1_fifth(
|
|||||||
|
|
||||||
if (sse_iters>0)
|
if (sse_iters>0)
|
||||||
{
|
{
|
||||||
for(int number = 0;number < sse_iters; number++){
|
for(unsigned int number = 0;number < sse_iters; number++){
|
||||||
|
|
||||||
//Perform the carrier wipe-off
|
//Perform the carrier wipe-off
|
||||||
x1 = _mm_lddqu_si128((__m128i*)input_ptr);
|
x1 = _mm_lddqu_si128((__m128i*)input_ptr);
|
||||||
@ -1063,7 +1067,7 @@ static inline void volk_gnsssdr_16ic_x5_cw_epl_corr_TEST_32fc_x3_u_sse4_1_fifth(
|
|||||||
}
|
}
|
||||||
|
|
||||||
lv_16sc_t bb_signal_sample;
|
lv_16sc_t bb_signal_sample;
|
||||||
for(int i=0; i < num_points%8; ++i)
|
for(unsigned int i=0; i < num_points%8; ++i)
|
||||||
{
|
{
|
||||||
//Perform the carrier wipe-off
|
//Perform the carrier wipe-off
|
||||||
bb_signal_sample = (*input_ptr++) * (*carrier_ptr++);
|
bb_signal_sample = (*input_ptr++) * (*carrier_ptr++);
|
||||||
@ -1135,7 +1139,7 @@ static inline void volk_gnsssdr_16ic_x5_cw_epl_corr_TEST_32fc_x3_u_sse4_1_sixth(
|
|||||||
|
|
||||||
if (sse_iters>0)
|
if (sse_iters>0)
|
||||||
{
|
{
|
||||||
for(int number = 0;number < sse_iters; number++){
|
for(unsigned int number = 0;number < sse_iters; number++){
|
||||||
|
|
||||||
//Perform the carrier wipe-off
|
//Perform the carrier wipe-off
|
||||||
x1 = _mm_lddqu_si128((__m128i*)input_ptr);
|
x1 = _mm_lddqu_si128((__m128i*)input_ptr);
|
||||||
@ -1216,7 +1220,7 @@ static inline void volk_gnsssdr_16ic_x5_cw_epl_corr_TEST_32fc_x3_u_sse4_1_sixth(
|
|||||||
}
|
}
|
||||||
|
|
||||||
lv_16sc_t bb_signal_sample;
|
lv_16sc_t bb_signal_sample;
|
||||||
for(int i=0; i < num_points%8; ++i)
|
for(unsigned int i=0; i < num_points%8; ++i)
|
||||||
{
|
{
|
||||||
//Perform the carrier wipe-off
|
//Perform the carrier wipe-off
|
||||||
bb_signal_sample = (*input_ptr++) * (*carrier_ptr++);
|
bb_signal_sample = (*input_ptr++) * (*carrier_ptr++);
|
||||||
@ -1255,7 +1259,7 @@ static inline void volk_gnsssdr_16ic_x5_cw_epl_corr_TEST_32fc_x3_generic(lv_32fc
|
|||||||
*L_out = 0;
|
*L_out = 0;
|
||||||
// perform Early, Prompt and Late correlation
|
// perform Early, Prompt and Late correlation
|
||||||
|
|
||||||
for(int i=0; i < num_points; ++i)
|
for(unsigned int i=0; i < num_points; ++i)
|
||||||
{
|
{
|
||||||
//Perform the carrier wipe-off
|
//Perform the carrier wipe-off
|
||||||
bb_signal_sample = input[i] * carrier[i];
|
bb_signal_sample = input[i] * carrier[i];
|
||||||
@ -1549,7 +1553,7 @@ static inline void volk_gnsssdr_16ic_x5_cw_epl_corr_TEST_32fc_x3_a_generic(lv_32
|
|||||||
*L_out = 0;
|
*L_out = 0;
|
||||||
// perform Early, Prompt and Late correlation
|
// perform Early, Prompt and Late correlation
|
||||||
|
|
||||||
for(int i=0; i < num_points; ++i)
|
for(unsigned int i=0; i < num_points; ++i)
|
||||||
{
|
{
|
||||||
//Perform the carrier wipe-off
|
//Perform the carrier wipe-off
|
||||||
bb_signal_sample = input[i] * carrier[i];
|
bb_signal_sample = input[i] * carrier[i];
|
||||||
|
@ -131,7 +131,7 @@ static inline void volk_gnsssdr_16ic_x7_cw_vepl_corr_32fc_x5_u_sse4_1(lv_32fc_t*
|
|||||||
|
|
||||||
if (sse_iters>0)
|
if (sse_iters>0)
|
||||||
{
|
{
|
||||||
for(int number = 0;number < sse_iters; number++){
|
for(unsigned int number = 0;number < sse_iters; number++){
|
||||||
|
|
||||||
//Perform the carrier wipe-off
|
//Perform the carrier wipe-off
|
||||||
x1 = _mm_lddqu_si128((__m128i*)input_ptr);
|
x1 = _mm_lddqu_si128((__m128i*)input_ptr);
|
||||||
@ -248,7 +248,7 @@ static inline void volk_gnsssdr_16ic_x7_cw_vepl_corr_32fc_x5_u_sse4_1(lv_32fc_t*
|
|||||||
}
|
}
|
||||||
|
|
||||||
lv_16sc_t bb_signal_sample;
|
lv_16sc_t bb_signal_sample;
|
||||||
for(int i=0; i < num_points%8; ++i)
|
for(unsigned int i=0; i < num_points%8; ++i)
|
||||||
{
|
{
|
||||||
//Perform the carrier wipe-off
|
//Perform the carrier wipe-off
|
||||||
bb_signal_sample = (*input_ptr++) * (*carrier_ptr++);
|
bb_signal_sample = (*input_ptr++) * (*carrier_ptr++);
|
||||||
@ -298,7 +298,7 @@ static inline void volk_gnsssdr_16ic_x7_cw_vepl_corr_32fc_x5_generic(lv_32fc_t*
|
|||||||
*VL_out = 0;
|
*VL_out = 0;
|
||||||
// perform Early, Prompt and Late correlation
|
// perform Early, Prompt and Late correlation
|
||||||
|
|
||||||
for(int i=0; i < num_points; ++i)
|
for(unsigned int i=0; i < num_points; ++i)
|
||||||
{
|
{
|
||||||
//Perform the carrier wipe-off
|
//Perform the carrier wipe-off
|
||||||
bb_signal_sample = input[i] * carrier[i];
|
bb_signal_sample = input[i] * carrier[i];
|
||||||
@ -405,7 +405,7 @@ static inline void volk_gnsssdr_16ic_x7_cw_vepl_corr_32fc_x5_a_sse4_1(lv_32fc_t*
|
|||||||
|
|
||||||
if (sse_iters>0)
|
if (sse_iters>0)
|
||||||
{
|
{
|
||||||
for(int number = 0;number < sse_iters; number++){
|
for(unsigned int number = 0;number < sse_iters; number++){
|
||||||
|
|
||||||
//Perform the carrier wipe-off
|
//Perform the carrier wipe-off
|
||||||
x1 = _mm_load_si128((__m128i*)input_ptr);
|
x1 = _mm_load_si128((__m128i*)input_ptr);
|
||||||
@ -522,7 +522,7 @@ static inline void volk_gnsssdr_16ic_x7_cw_vepl_corr_32fc_x5_a_sse4_1(lv_32fc_t*
|
|||||||
}
|
}
|
||||||
|
|
||||||
lv_16sc_t bb_signal_sample;
|
lv_16sc_t bb_signal_sample;
|
||||||
for(int i=0; i < num_points%8; ++i)
|
for(unsigned int i=0; i < num_points%8; ++i)
|
||||||
{
|
{
|
||||||
//Perform the carrier wipe-off
|
//Perform the carrier wipe-off
|
||||||
bb_signal_sample = (*input_ptr++) * (*carrier_ptr++);
|
bb_signal_sample = (*input_ptr++) * (*carrier_ptr++);
|
||||||
@ -572,7 +572,7 @@ static inline void volk_gnsssdr_16ic_x7_cw_vepl_corr_32fc_x5_a_generic(lv_32fc_t
|
|||||||
*VL_out = 0;
|
*VL_out = 0;
|
||||||
// perform Early, Prompt and Late correlation
|
// perform Early, Prompt and Late correlation
|
||||||
|
|
||||||
for(int i=0; i < num_points; ++i)
|
for(unsigned int i=0; i < num_points; ++i)
|
||||||
{
|
{
|
||||||
//Perform the carrier wipe-off
|
//Perform the carrier wipe-off
|
||||||
bb_signal_sample = input[i] * carrier[i];
|
bb_signal_sample = input[i] * carrier[i];
|
||||||
|
@ -190,7 +190,7 @@ static inline void volk_gnsssdr_32fc_x5_cw_epl_corr_32fc_x3_generic(lv_32fc_t* E
|
|||||||
*P_out = 0;
|
*P_out = 0;
|
||||||
*L_out = 0;
|
*L_out = 0;
|
||||||
// perform Early, Prompt and Late correlation
|
// perform Early, Prompt and Late correlation
|
||||||
for(int i=0; i < num_points; ++i)
|
for(unsigned int i=0; i < num_points; ++i)
|
||||||
{
|
{
|
||||||
//Perform the carrier wipe-off
|
//Perform the carrier wipe-off
|
||||||
bb_signal_sample = input[i] * carrier[i];
|
bb_signal_sample = input[i] * carrier[i];
|
||||||
@ -393,7 +393,7 @@ static inline void volk_gnsssdr_32fc_x5_cw_epl_corr_32fc_x3_a_generic(lv_32fc_t*
|
|||||||
*P_out = 0;
|
*P_out = 0;
|
||||||
*L_out = 0;
|
*L_out = 0;
|
||||||
// perform Early, Prompt and Late correlation
|
// perform Early, Prompt and Late correlation
|
||||||
for(int i=0; i < num_points; ++i)
|
for(unsigned int i=0; i < num_points; ++i)
|
||||||
{
|
{
|
||||||
//Perform the carrier wipe-off
|
//Perform the carrier wipe-off
|
||||||
bb_signal_sample = input[i] * carrier[i];
|
bb_signal_sample = input[i] * carrier[i];
|
||||||
|
@ -212,7 +212,7 @@ static inline void volk_gnsssdr_32fc_x7_cw_vepl_corr_32fc_x5_u_avx(lv_32fc_t* VE
|
|||||||
dotProduct_L = ( dotProductVector_L[0] + dotProductVector_L[1] + dotProductVector_L[2] + dotProductVector_L[3] );
|
dotProduct_L = ( dotProductVector_L[0] + dotProductVector_L[1] + dotProductVector_L[2] + dotProductVector_L[3] );
|
||||||
dotProduct_VL = ( dotProductVector_VL[0] + dotProductVector_VL[1] + dotProductVector_VL[2] + dotProductVector_VL[3] );
|
dotProduct_VL = ( dotProductVector_VL[0] + dotProductVector_VL[1] + dotProductVector_VL[2] + dotProductVector_VL[3] );
|
||||||
|
|
||||||
for (int i = 0; i<(num_points % 4); ++i)
|
for (unsigned int i = 0; i<(num_points % 4); ++i)
|
||||||
{
|
{
|
||||||
dotProduct_VE += (*_input) * (*_VE_code++) * (*_carrier);
|
dotProduct_VE += (*_input) * (*_VE_code++) * (*_carrier);
|
||||||
dotProduct_E += (*_input) * (*_E_code++) * (*_carrier);
|
dotProduct_E += (*_input) * (*_E_code++) * (*_carrier);
|
||||||
@ -431,7 +431,7 @@ static inline void volk_gnsssdr_32fc_x7_cw_vepl_corr_32fc_x5_generic(lv_32fc_t*
|
|||||||
*L_out = 0;
|
*L_out = 0;
|
||||||
*VL_out = 0;
|
*VL_out = 0;
|
||||||
// perform Early, Prompt and Late correlation
|
// perform Early, Prompt and Late correlation
|
||||||
for(int i=0; i < num_points; ++i)
|
for(unsigned int i=0; i < num_points; ++i)
|
||||||
{
|
{
|
||||||
//Perform the carrier wipe-off
|
//Perform the carrier wipe-off
|
||||||
bb_signal_sample = input[i] * carrier[i];
|
bb_signal_sample = input[i] * carrier[i];
|
||||||
@ -613,7 +613,7 @@ static inline void volk_gnsssdr_32fc_x7_cw_vepl_corr_32fc_x5_a_avx(lv_32fc_t* VE
|
|||||||
dotProduct_L = ( dotProductVector_L[0] + dotProductVector_L[1] + dotProductVector_L[2] + dotProductVector_L[3] );
|
dotProduct_L = ( dotProductVector_L[0] + dotProductVector_L[1] + dotProductVector_L[2] + dotProductVector_L[3] );
|
||||||
dotProduct_VL = ( dotProductVector_VL[0] + dotProductVector_VL[1] + dotProductVector_VL[2] + dotProductVector_VL[3] );
|
dotProduct_VL = ( dotProductVector_VL[0] + dotProductVector_VL[1] + dotProductVector_VL[2] + dotProductVector_VL[3] );
|
||||||
|
|
||||||
for (int i = 0; i<(num_points % 4); ++i)
|
for (unsigned int i = 0; i<(num_points % 4); ++i)
|
||||||
{
|
{
|
||||||
dotProduct_VE += (*_input) * (*_VE_code++) * (*_carrier);
|
dotProduct_VE += (*_input) * (*_VE_code++) * (*_carrier);
|
||||||
dotProduct_E += (*_input) * (*_E_code++) * (*_carrier);
|
dotProduct_E += (*_input) * (*_E_code++) * (*_carrier);
|
||||||
@ -832,7 +832,7 @@ static inline void volk_gnsssdr_32fc_x7_cw_vepl_corr_32fc_x5_a_generic(lv_32fc_t
|
|||||||
*L_out = 0;
|
*L_out = 0;
|
||||||
*VL_out = 0;
|
*VL_out = 0;
|
||||||
// perform Early, Prompt and Late correlation
|
// perform Early, Prompt and Late correlation
|
||||||
for(int i=0; i < num_points; ++i)
|
for(unsigned int i=0; i < num_points; ++i)
|
||||||
{
|
{
|
||||||
//Perform the carrier wipe-off
|
//Perform the carrier wipe-off
|
||||||
bb_signal_sample = input[i] * carrier[i];
|
bb_signal_sample = input[i] * carrier[i];
|
||||||
|
@ -66,11 +66,11 @@ static inline void volk_gnsssdr_64f_accumulator_64f_u_avx(double* result,const d
|
|||||||
|
|
||||||
_mm256_storeu_pd((double*)tempBuffer,accumulator);
|
_mm256_storeu_pd((double*)tempBuffer,accumulator);
|
||||||
|
|
||||||
for(int i = 0; i<4; ++i){
|
for(unsigned int i = 0; i<4; ++i){
|
||||||
returnValue += tempBuffer[i];
|
returnValue += tempBuffer[i];
|
||||||
}
|
}
|
||||||
|
|
||||||
for(int i = 0; i<(num_points % 4); ++i){
|
for(unsigned int i = 0; i<(num_points % 4); ++i){
|
||||||
returnValue += (*aPtr++);
|
returnValue += (*aPtr++);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -105,11 +105,11 @@ static inline void volk_gnsssdr_64f_accumulator_64f_u_sse3(double* result,const
|
|||||||
|
|
||||||
_mm_storeu_pd((double*)tempBuffer,accumulator);
|
_mm_storeu_pd((double*)tempBuffer,accumulator);
|
||||||
|
|
||||||
for(int i = 0; i<2; ++i){
|
for(unsigned int i = 0; i<2; ++i){
|
||||||
returnValue += tempBuffer[i];
|
returnValue += tempBuffer[i];
|
||||||
}
|
}
|
||||||
|
|
||||||
for(int i = 0; i<(num_points % 2); ++i){
|
for(unsigned int i = 0; i<(num_points % 2); ++i){
|
||||||
returnValue += (*aPtr++);
|
returnValue += (*aPtr++);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -172,11 +172,11 @@ static inline void volk_gnsssdr_64f_accumulator_64f_a_avx(double* result,const d
|
|||||||
|
|
||||||
_mm256_store_pd((double*)tempBuffer,accumulator);
|
_mm256_store_pd((double*)tempBuffer,accumulator);
|
||||||
|
|
||||||
for(int i = 0; i<4; ++i){
|
for(unsigned int i = 0; i<4; ++i){
|
||||||
returnValue += tempBuffer[i];
|
returnValue += tempBuffer[i];
|
||||||
}
|
}
|
||||||
|
|
||||||
for(int i = 0; i<(num_points % 4); ++i){
|
for(unsigned int i = 0; i<(num_points % 4); ++i){
|
||||||
returnValue += (*aPtr++);
|
returnValue += (*aPtr++);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -211,11 +211,11 @@ static inline void volk_gnsssdr_64f_accumulator_64f_a_sse3(double* result,const
|
|||||||
|
|
||||||
_mm_store_pd((double*)tempBuffer,accumulator);
|
_mm_store_pd((double*)tempBuffer,accumulator);
|
||||||
|
|
||||||
for(int i = 0; i<2; ++i){
|
for(unsigned int i = 0; i<2; ++i){
|
||||||
returnValue += tempBuffer[i];
|
returnValue += tempBuffer[i];
|
||||||
}
|
}
|
||||||
|
|
||||||
for(int i = 0; i<(num_points % 2); ++i){
|
for(unsigned int i = 0; i<(num_points % 2); ++i){
|
||||||
returnValue += (*aPtr++);
|
returnValue += (*aPtr++);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -64,11 +64,11 @@ static inline void volk_gnsssdr_8i_accumulator_s8i_u_sse3(char* result, const ch
|
|||||||
}
|
}
|
||||||
_mm_storeu_si128((__m128i*)tempBuffer,accumulator);
|
_mm_storeu_si128((__m128i*)tempBuffer,accumulator);
|
||||||
|
|
||||||
for(int i = 0; i<16; ++i){
|
for(unsigned int i = 0; i<16; ++i){
|
||||||
returnValue += tempBuffer[i];
|
returnValue += tempBuffer[i];
|
||||||
}
|
}
|
||||||
|
|
||||||
for(int i = 0; i<(num_points % 16); ++i){
|
for(unsigned int i = 0; i<(num_points % 16); ++i){
|
||||||
returnValue += (*aPtr++);
|
returnValue += (*aPtr++);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -129,11 +129,11 @@ static inline void volk_gnsssdr_8i_accumulator_s8i_a_sse3(char* result, const ch
|
|||||||
}
|
}
|
||||||
_mm_store_si128((__m128i*)tempBuffer,accumulator);
|
_mm_store_si128((__m128i*)tempBuffer,accumulator);
|
||||||
|
|
||||||
for(int i = 0; i<16; ++i){
|
for(unsigned int i = 0; i<16; ++i){
|
||||||
returnValue += tempBuffer[i];
|
returnValue += tempBuffer[i];
|
||||||
}
|
}
|
||||||
|
|
||||||
for(int i = 0; i<(num_points % 16); ++i){
|
for(unsigned int i = 0; i<(num_points % 16); ++i){
|
||||||
returnValue += (*aPtr++);
|
returnValue += (*aPtr++);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -79,7 +79,7 @@ static inline void volk_gnsssdr_8i_index_max_16u_u_avx(unsigned int* target, con
|
|||||||
{
|
{
|
||||||
_mm256_storeu_si256((__m256i*)¤tValuesBuffer, currentValues);
|
_mm256_storeu_si256((__m256i*)¤tValuesBuffer, currentValues);
|
||||||
|
|
||||||
for(int i = 0; i < 32; i++)
|
for(unsigned int i = 0; i < 32; i++)
|
||||||
{
|
{
|
||||||
if(currentValuesBuffer[i] > max)
|
if(currentValuesBuffer[i] > max)
|
||||||
{
|
{
|
||||||
@ -93,7 +93,7 @@ static inline void volk_gnsssdr_8i_index_max_16u_u_avx(unsigned int* target, con
|
|||||||
inputPtr += 32;
|
inputPtr += 32;
|
||||||
}
|
}
|
||||||
|
|
||||||
for(int i = 0; i<(num_points % 32); ++i)
|
for(unsigned int i = 0; i<(num_points % 32); ++i)
|
||||||
{
|
{
|
||||||
if(src0[i] > max)
|
if(src0[i] > max)
|
||||||
{
|
{
|
||||||
@ -138,7 +138,7 @@ static inline void volk_gnsssdr_8i_index_max_16u_u_sse4_1(unsigned int* target,
|
|||||||
{
|
{
|
||||||
_mm_storeu_si128((__m128i*)¤tValuesBuffer, currentValues);
|
_mm_storeu_si128((__m128i*)¤tValuesBuffer, currentValues);
|
||||||
|
|
||||||
for(int i = 0; i < 16; i++)
|
for(unsigned int i = 0; i < 16; i++)
|
||||||
{
|
{
|
||||||
if(currentValuesBuffer[i] > max)
|
if(currentValuesBuffer[i] > max)
|
||||||
{
|
{
|
||||||
@ -152,7 +152,7 @@ static inline void volk_gnsssdr_8i_index_max_16u_u_sse4_1(unsigned int* target,
|
|||||||
inputPtr += 16;
|
inputPtr += 16;
|
||||||
}
|
}
|
||||||
|
|
||||||
for(int i = 0; i<(num_points % 16); ++i)
|
for(unsigned int i = 0; i<(num_points % 16); ++i)
|
||||||
{
|
{
|
||||||
if(src0[i] > max)
|
if(src0[i] > max)
|
||||||
{
|
{
|
||||||
@ -198,7 +198,7 @@ static inline void volk_gnsssdr_8i_index_max_16u_u_sse2(unsigned int* target, co
|
|||||||
{
|
{
|
||||||
_mm_storeu_si128((__m128i*)¤tValuesBuffer, currentValues);
|
_mm_storeu_si128((__m128i*)¤tValuesBuffer, currentValues);
|
||||||
mask = ~mask;
|
mask = ~mask;
|
||||||
int i = 0;
|
unsigned int i = 0;
|
||||||
while (mask > 0)
|
while (mask > 0)
|
||||||
{
|
{
|
||||||
if ((mask & 1) == 1)
|
if ((mask & 1) == 1)
|
||||||
@ -217,7 +217,7 @@ static inline void volk_gnsssdr_8i_index_max_16u_u_sse2(unsigned int* target, co
|
|||||||
inputPtr += 16;
|
inputPtr += 16;
|
||||||
}
|
}
|
||||||
|
|
||||||
for(int i = 0; i<(num_points % 16); ++i)
|
for(unsigned int i = 0; i<(num_points % 16); ++i)
|
||||||
{
|
{
|
||||||
if(src0[i] > max)
|
if(src0[i] > max)
|
||||||
{
|
{
|
||||||
@ -309,7 +309,7 @@ static inline void volk_gnsssdr_8i_index_max_16u_a_avx(unsigned int* target, con
|
|||||||
{
|
{
|
||||||
_mm256_store_si256((__m256i*)¤tValuesBuffer, currentValues);
|
_mm256_store_si256((__m256i*)¤tValuesBuffer, currentValues);
|
||||||
|
|
||||||
for(int i = 0; i < 32; i++)
|
for(unsigned int i = 0; i < 32; i++)
|
||||||
{
|
{
|
||||||
if(currentValuesBuffer[i] > max)
|
if(currentValuesBuffer[i] > max)
|
||||||
{
|
{
|
||||||
@ -323,7 +323,7 @@ static inline void volk_gnsssdr_8i_index_max_16u_a_avx(unsigned int* target, con
|
|||||||
inputPtr += 32;
|
inputPtr += 32;
|
||||||
}
|
}
|
||||||
|
|
||||||
for(int i = 0; i<(num_points % 32); ++i)
|
for(unsigned int i = 0; i<(num_points % 32); ++i)
|
||||||
{
|
{
|
||||||
if(src0[i] > max)
|
if(src0[i] > max)
|
||||||
{
|
{
|
||||||
@ -368,7 +368,7 @@ static inline void volk_gnsssdr_8i_index_max_16u_a_sse4_1(unsigned int* target,
|
|||||||
{
|
{
|
||||||
_mm_store_si128((__m128i*)¤tValuesBuffer, currentValues);
|
_mm_store_si128((__m128i*)¤tValuesBuffer, currentValues);
|
||||||
|
|
||||||
for(int i = 0; i < 16; i++)
|
for(unsigned int i = 0; i < 16; i++)
|
||||||
{
|
{
|
||||||
if(currentValuesBuffer[i] > max)
|
if(currentValuesBuffer[i] > max)
|
||||||
{
|
{
|
||||||
@ -382,7 +382,7 @@ static inline void volk_gnsssdr_8i_index_max_16u_a_sse4_1(unsigned int* target,
|
|||||||
inputPtr += 16;
|
inputPtr += 16;
|
||||||
}
|
}
|
||||||
|
|
||||||
for(int i = 0; i<(num_points % 16); ++i)
|
for(unsigned int i = 0; i<(num_points % 16); ++i)
|
||||||
{
|
{
|
||||||
if(src0[i] > max)
|
if(src0[i] > max)
|
||||||
{
|
{
|
||||||
@ -428,7 +428,7 @@ static inline void volk_gnsssdr_8i_index_max_16u_a_sse2(unsigned int* target, co
|
|||||||
{
|
{
|
||||||
_mm_store_si128((__m128i*)¤tValuesBuffer, currentValues);
|
_mm_store_si128((__m128i*)¤tValuesBuffer, currentValues);
|
||||||
mask = ~mask;
|
mask = ~mask;
|
||||||
int i = 0;
|
unsigned int i = 0;
|
||||||
while (mask > 0)
|
while (mask > 0)
|
||||||
{
|
{
|
||||||
if ((mask & 1) == 1)
|
if ((mask & 1) == 1)
|
||||||
@ -447,7 +447,7 @@ static inline void volk_gnsssdr_8i_index_max_16u_a_sse2(unsigned int* target, co
|
|||||||
inputPtr += 16;
|
inputPtr += 16;
|
||||||
}
|
}
|
||||||
|
|
||||||
for(int i = 0; i<(num_points % 16); ++i)
|
for(unsigned int i = 0; i<(num_points % 16); ++i)
|
||||||
{
|
{
|
||||||
if(src0[i] > max)
|
if(src0[i] > max)
|
||||||
{
|
{
|
||||||
|
@ -68,7 +68,7 @@ static inline void volk_gnsssdr_8i_max_s8i_u_sse4_1(char target, const char* src
|
|||||||
|
|
||||||
_mm_storeu_si128((__m128i*)maxValuesBuffer, maxValues);
|
_mm_storeu_si128((__m128i*)maxValuesBuffer, maxValues);
|
||||||
|
|
||||||
for(int i = 0; i<16; ++i)
|
for(unsigned int i = 0; i<16; ++i)
|
||||||
{
|
{
|
||||||
if(maxValuesBuffer[i] > max)
|
if(maxValuesBuffer[i] > max)
|
||||||
{
|
{
|
||||||
@ -76,7 +76,7 @@ static inline void volk_gnsssdr_8i_max_s8i_u_sse4_1(char target, const char* src
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
for(int i = 0; i<(num_points % 16); ++i)
|
for(unsigned int i = 0; i<(num_points % 16); ++i)
|
||||||
{
|
{
|
||||||
if(src0[i] > max)
|
if(src0[i] > max)
|
||||||
{
|
{
|
||||||
@ -137,7 +137,7 @@ static inline void volk_gnsssdr_8i_max_s8i_u_sse2(char target, const char* src0,
|
|||||||
inputPtr += 16;
|
inputPtr += 16;
|
||||||
}
|
}
|
||||||
|
|
||||||
for(int i = 0; i<(num_points % 16); ++i)
|
for(unsigned int i = 0; i<(num_points % 16); ++i)
|
||||||
{
|
{
|
||||||
if(src0[i] > max)
|
if(src0[i] > max)
|
||||||
{
|
{
|
||||||
@ -214,7 +214,7 @@ static inline void volk_gnsssdr_8i_max_s8i_a_sse4_1(char target, const char* src
|
|||||||
|
|
||||||
_mm_store_si128((__m128i*)maxValuesBuffer, maxValues);
|
_mm_store_si128((__m128i*)maxValuesBuffer, maxValues);
|
||||||
|
|
||||||
for(int i = 0; i<16; ++i)
|
for(unsigned int i = 0; i<16; ++i)
|
||||||
{
|
{
|
||||||
if(maxValuesBuffer[i] > max)
|
if(maxValuesBuffer[i] > max)
|
||||||
{
|
{
|
||||||
@ -222,7 +222,7 @@ static inline void volk_gnsssdr_8i_max_s8i_a_sse4_1(char target, const char* src
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
for(int i = 0; i<(num_points % 16); ++i)
|
for(unsigned int i = 0; i<(num_points % 16); ++i)
|
||||||
{
|
{
|
||||||
if(src0[i] > max)
|
if(src0[i] > max)
|
||||||
{
|
{
|
||||||
@ -283,7 +283,7 @@ static inline void volk_gnsssdr_8i_max_s8i_a_sse2(char target, const char* src0,
|
|||||||
inputPtr += 16;
|
inputPtr += 16;
|
||||||
}
|
}
|
||||||
|
|
||||||
for(int i = 0; i<(num_points % 16); ++i)
|
for(unsigned int i = 0; i<(num_points % 16); ++i)
|
||||||
{
|
{
|
||||||
if(src0[i] > max)
|
if(src0[i] > max)
|
||||||
{
|
{
|
||||||
|
@ -57,7 +57,7 @@ static inline void volk_gnsssdr_8i_x2_add_8i_u_sse2(char* cVector, const char* a
|
|||||||
|
|
||||||
__m128i aVal, bVal, cVal;
|
__m128i aVal, bVal, cVal;
|
||||||
|
|
||||||
for(int number = 0; number < sse_iters; number++){
|
for(unsigned int number = 0; number < sse_iters; number++){
|
||||||
|
|
||||||
aVal = _mm_loadu_si128((__m128i*)aPtr);
|
aVal = _mm_loadu_si128((__m128i*)aPtr);
|
||||||
bVal = _mm_loadu_si128((__m128i*)bPtr);
|
bVal = _mm_loadu_si128((__m128i*)bPtr);
|
||||||
@ -71,7 +71,7 @@ static inline void volk_gnsssdr_8i_x2_add_8i_u_sse2(char* cVector, const char* a
|
|||||||
cPtr += 16;
|
cPtr += 16;
|
||||||
}
|
}
|
||||||
|
|
||||||
for(int i = 0; i<(num_points % 16); ++i)
|
for(unsigned int i = 0; i<(num_points % 16); ++i)
|
||||||
{
|
{
|
||||||
*cPtr++ = (*aPtr++) + (*bPtr++);
|
*cPtr++ = (*aPtr++) + (*bPtr++);
|
||||||
}
|
}
|
||||||
@ -126,7 +126,7 @@ static inline void volk_gnsssdr_8i_x2_add_8i_a_sse2(char* cVector, const char* a
|
|||||||
|
|
||||||
__m128i aVal, bVal, cVal;
|
__m128i aVal, bVal, cVal;
|
||||||
|
|
||||||
for(int number = 0; number < sse_iters; number++){
|
for(unsigned int number = 0; number < sse_iters; number++){
|
||||||
|
|
||||||
aVal = _mm_load_si128((__m128i*)aPtr);
|
aVal = _mm_load_si128((__m128i*)aPtr);
|
||||||
bVal = _mm_load_si128((__m128i*)bPtr);
|
bVal = _mm_load_si128((__m128i*)bPtr);
|
||||||
@ -140,7 +140,7 @@ static inline void volk_gnsssdr_8i_x2_add_8i_a_sse2(char* cVector, const char* a
|
|||||||
cPtr += 16;
|
cPtr += 16;
|
||||||
}
|
}
|
||||||
|
|
||||||
for(int i = 0; i<(num_points % 16); ++i)
|
for(unsigned int i = 0; i<(num_points % 16); ++i)
|
||||||
{
|
{
|
||||||
*cPtr++ = (*aPtr++) + (*bPtr++);
|
*cPtr++ = (*aPtr++) + (*bPtr++);
|
||||||
}
|
}
|
||||||
|
@ -59,7 +59,7 @@ static inline void volk_gnsssdr_8ic_conjugate_8ic_u_avx(lv_8sc_t* cVector, const
|
|||||||
__m256 conjugator1 = _mm256_castsi256_ps(_mm256_setr_epi8(0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255));
|
__m256 conjugator1 = _mm256_castsi256_ps(_mm256_setr_epi8(0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255));
|
||||||
__m128i conjugator2 = _mm_setr_epi8(0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1);
|
__m128i conjugator2 = _mm_setr_epi8(0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1);
|
||||||
|
|
||||||
for (int i = 0; i < sse_iters; ++i)
|
for (unsigned int i = 0; i < sse_iters; ++i)
|
||||||
{
|
{
|
||||||
tmp = _mm256_loadu_ps((float*)a);
|
tmp = _mm256_loadu_ps((float*)a);
|
||||||
tmp = _mm256_xor_ps(tmp, conjugator1);
|
tmp = _mm256_xor_ps(tmp, conjugator1);
|
||||||
@ -75,7 +75,7 @@ static inline void volk_gnsssdr_8ic_conjugate_8ic_u_avx(lv_8sc_t* cVector, const
|
|||||||
c += 16;
|
c += 16;
|
||||||
}
|
}
|
||||||
|
|
||||||
for (int i = 0; i<(num_points % 16); ++i)
|
for (unsigned int i = 0; i<(num_points % 16); ++i)
|
||||||
{
|
{
|
||||||
*c++ = lv_conj(*a++);
|
*c++ = lv_conj(*a++);
|
||||||
}
|
}
|
||||||
@ -99,7 +99,7 @@ static inline void volk_gnsssdr_8ic_conjugate_8ic_u_ssse3(lv_8sc_t* cVector, con
|
|||||||
|
|
||||||
__m128i conjugator = _mm_setr_epi8(1, -1, 1, -1, 1, -1, 1, -1, 1, -1, 1, -1, 1, -1, 1, -1);
|
__m128i conjugator = _mm_setr_epi8(1, -1, 1, -1, 1, -1, 1, -1, 1, -1, 1, -1, 1, -1, 1, -1);
|
||||||
|
|
||||||
for (int i = 0; i < sse_iters; ++i)
|
for (unsigned int i = 0; i < sse_iters; ++i)
|
||||||
{
|
{
|
||||||
tmp = _mm_lddqu_si128((__m128i*)a);
|
tmp = _mm_lddqu_si128((__m128i*)a);
|
||||||
tmp = _mm_sign_epi8(tmp, conjugator);
|
tmp = _mm_sign_epi8(tmp, conjugator);
|
||||||
@ -108,7 +108,7 @@ static inline void volk_gnsssdr_8ic_conjugate_8ic_u_ssse3(lv_8sc_t* cVector, con
|
|||||||
c += 8;
|
c += 8;
|
||||||
}
|
}
|
||||||
|
|
||||||
for (int i = 0; i<(num_points % 8); ++i)
|
for (unsigned int i = 0; i<(num_points % 8); ++i)
|
||||||
{
|
{
|
||||||
*c++ = lv_conj(*a++);
|
*c++ = lv_conj(*a++);
|
||||||
}
|
}
|
||||||
@ -134,7 +134,7 @@ static inline void volk_gnsssdr_8ic_conjugate_8ic_u_sse3(lv_8sc_t* cVector, cons
|
|||||||
__m128i conjugator1 = _mm_setr_epi8(0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255);
|
__m128i conjugator1 = _mm_setr_epi8(0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255);
|
||||||
__m128i conjugator2 = _mm_setr_epi8(0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1);
|
__m128i conjugator2 = _mm_setr_epi8(0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1);
|
||||||
|
|
||||||
for (int i = 0; i < sse_iters; ++i)
|
for (unsigned int i = 0; i < sse_iters; ++i)
|
||||||
{
|
{
|
||||||
tmp = _mm_lddqu_si128((__m128i*)a);
|
tmp = _mm_lddqu_si128((__m128i*)a);
|
||||||
tmp = _mm_xor_si128(tmp, conjugator1);
|
tmp = _mm_xor_si128(tmp, conjugator1);
|
||||||
@ -144,7 +144,7 @@ static inline void volk_gnsssdr_8ic_conjugate_8ic_u_sse3(lv_8sc_t* cVector, cons
|
|||||||
c += 8;
|
c += 8;
|
||||||
}
|
}
|
||||||
|
|
||||||
for (int i = 0; i<(num_points % 8); ++i)
|
for (unsigned int i = 0; i<(num_points % 8); ++i)
|
||||||
{
|
{
|
||||||
*c++ = lv_conj(*a++);
|
*c++ = lv_conj(*a++);
|
||||||
}
|
}
|
||||||
@ -199,7 +199,7 @@ static inline void volk_gnsssdr_8ic_conjugate_8ic_a_avx(lv_8sc_t* cVector, const
|
|||||||
__m256 conjugator1 = _mm256_castsi256_ps(_mm256_setr_epi8(0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255));
|
__m256 conjugator1 = _mm256_castsi256_ps(_mm256_setr_epi8(0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255));
|
||||||
__m128i conjugator2 = _mm_setr_epi8(0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1);
|
__m128i conjugator2 = _mm_setr_epi8(0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1);
|
||||||
|
|
||||||
for (int i = 0; i < sse_iters; ++i)
|
for (unsigned int i = 0; i < sse_iters; ++i)
|
||||||
{
|
{
|
||||||
tmp = _mm256_load_ps((float*)a);
|
tmp = _mm256_load_ps((float*)a);
|
||||||
tmp = _mm256_xor_ps(tmp, conjugator1);
|
tmp = _mm256_xor_ps(tmp, conjugator1);
|
||||||
@ -215,7 +215,7 @@ static inline void volk_gnsssdr_8ic_conjugate_8ic_a_avx(lv_8sc_t* cVector, const
|
|||||||
c += 16;
|
c += 16;
|
||||||
}
|
}
|
||||||
|
|
||||||
for (int i = 0; i<(num_points % 16); ++i)
|
for (unsigned int i = 0; i<(num_points % 16); ++i)
|
||||||
{
|
{
|
||||||
*c++ = lv_conj(*a++);
|
*c++ = lv_conj(*a++);
|
||||||
}
|
}
|
||||||
@ -239,7 +239,7 @@ static inline void volk_gnsssdr_8ic_conjugate_8ic_a_ssse3(lv_8sc_t* cVector, con
|
|||||||
|
|
||||||
__m128i conjugator = _mm_setr_epi8(1, -1, 1, -1, 1, -1, 1, -1, 1, -1, 1, -1, 1, -1, 1, -1);
|
__m128i conjugator = _mm_setr_epi8(1, -1, 1, -1, 1, -1, 1, -1, 1, -1, 1, -1, 1, -1, 1, -1);
|
||||||
|
|
||||||
for (int i = 0; i < sse_iters; ++i)
|
for (unsigned int i = 0; i < sse_iters; ++i)
|
||||||
{
|
{
|
||||||
tmp = _mm_load_si128((__m128i*)a);
|
tmp = _mm_load_si128((__m128i*)a);
|
||||||
tmp = _mm_sign_epi8(tmp, conjugator);
|
tmp = _mm_sign_epi8(tmp, conjugator);
|
||||||
@ -248,7 +248,7 @@ static inline void volk_gnsssdr_8ic_conjugate_8ic_a_ssse3(lv_8sc_t* cVector, con
|
|||||||
c += 8;
|
c += 8;
|
||||||
}
|
}
|
||||||
|
|
||||||
for (int i = 0; i<(num_points % 8); ++i)
|
for (unsigned int i = 0; i<(num_points % 8); ++i)
|
||||||
{
|
{
|
||||||
*c++ = lv_conj(*a++);
|
*c++ = lv_conj(*a++);
|
||||||
}
|
}
|
||||||
@ -274,7 +274,7 @@ static inline void volk_gnsssdr_8ic_conjugate_8ic_a_sse3(lv_8sc_t* cVector, cons
|
|||||||
__m128i conjugator1 = _mm_setr_epi8(0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255);
|
__m128i conjugator1 = _mm_setr_epi8(0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255);
|
||||||
__m128i conjugator2 = _mm_setr_epi8(0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1);
|
__m128i conjugator2 = _mm_setr_epi8(0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1);
|
||||||
|
|
||||||
for (int i = 0; i < sse_iters; ++i)
|
for (unsigned int i = 0; i < sse_iters; ++i)
|
||||||
{
|
{
|
||||||
tmp = _mm_load_si128((__m128i*)a);
|
tmp = _mm_load_si128((__m128i*)a);
|
||||||
tmp = _mm_xor_si128(tmp, conjugator1);
|
tmp = _mm_xor_si128(tmp, conjugator1);
|
||||||
@ -284,7 +284,7 @@ static inline void volk_gnsssdr_8ic_conjugate_8ic_a_sse3(lv_8sc_t* cVector, cons
|
|||||||
c += 8;
|
c += 8;
|
||||||
}
|
}
|
||||||
|
|
||||||
for (int i = 0; i<(num_points % 8); ++i)
|
for (unsigned int i = 0; i<(num_points % 8); ++i)
|
||||||
{
|
{
|
||||||
*c++ = lv_conj(*a++);
|
*c++ = lv_conj(*a++);
|
||||||
}
|
}
|
||||||
|
@ -64,7 +64,7 @@ static inline void volk_gnsssdr_8ic_magnitude_squared_8i_u_sse3(char* magnitudeV
|
|||||||
maska = _mm_set_epi8(0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 14, 12, 10, 8, 6, 4, 2, 0);
|
maska = _mm_set_epi8(0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 14, 12, 10, 8, 6, 4, 2, 0);
|
||||||
maskb = _mm_set_epi8(14, 12, 10, 8, 6, 4, 2, 0, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80);
|
maskb = _mm_set_epi8(14, 12, 10, 8, 6, 4, 2, 0, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80);
|
||||||
|
|
||||||
for(int number = 0;number < sse_iters; number++)
|
for(unsigned int number = 0;number < sse_iters; number++)
|
||||||
{
|
{
|
||||||
avector = _mm_lddqu_si128((__m128i*)complexVectorPtr);
|
avector = _mm_lddqu_si128((__m128i*)complexVectorPtr);
|
||||||
avectorlo = _mm_unpacklo_epi8 (avector, zero);
|
avectorlo = _mm_unpacklo_epi8 (avector, zero);
|
||||||
@ -93,7 +93,7 @@ static inline void volk_gnsssdr_8ic_magnitude_squared_8i_u_sse3(char* magnitudeV
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
for (int i = 0; i<(num_points % 16); ++i)
|
for (unsigned int i = 0; i<(num_points % 16); ++i)
|
||||||
{
|
{
|
||||||
const char valReal = *complexVectorPtr++;
|
const char valReal = *complexVectorPtr++;
|
||||||
const char valImag = *complexVectorPtr++;
|
const char valImag = *complexVectorPtr++;
|
||||||
@ -159,7 +159,7 @@ static inline void volk_gnsssdr_8ic_magnitude_squared_8i_generic(char* magnitude
|
|||||||
const char* complexVectorPtr = (char*)complexVector;
|
const char* complexVectorPtr = (char*)complexVector;
|
||||||
char* magnitudeVectorPtr = magnitudeVector;
|
char* magnitudeVectorPtr = magnitudeVector;
|
||||||
|
|
||||||
for(int number = 0; number < num_points; number++){
|
for(unsigned int number = 0; number < num_points; number++){
|
||||||
const char real = *complexVectorPtr++;
|
const char real = *complexVectorPtr++;
|
||||||
const char imag = *complexVectorPtr++;
|
const char imag = *complexVectorPtr++;
|
||||||
*magnitudeVectorPtr++ = (real*real) + (imag*imag);
|
*magnitudeVectorPtr++ = (real*real) + (imag*imag);
|
||||||
@ -200,7 +200,7 @@ static inline void volk_gnsssdr_8ic_magnitude_squared_8i_a_sse3(char* magnitudeV
|
|||||||
maska = _mm_set_epi8(0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 14, 12, 10, 8, 6, 4, 2, 0);
|
maska = _mm_set_epi8(0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 14, 12, 10, 8, 6, 4, 2, 0);
|
||||||
maskb = _mm_set_epi8(14, 12, 10, 8, 6, 4, 2, 0, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80);
|
maskb = _mm_set_epi8(14, 12, 10, 8, 6, 4, 2, 0, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80);
|
||||||
|
|
||||||
for(int number = 0;number < sse_iters; number++)
|
for(unsigned int number = 0;number < sse_iters; number++)
|
||||||
{
|
{
|
||||||
avector = _mm_load_si128((__m128i*)complexVectorPtr);
|
avector = _mm_load_si128((__m128i*)complexVectorPtr);
|
||||||
avectorlo = _mm_unpacklo_epi8 (avector, zero);
|
avectorlo = _mm_unpacklo_epi8 (avector, zero);
|
||||||
@ -229,7 +229,7 @@ static inline void volk_gnsssdr_8ic_magnitude_squared_8i_a_sse3(char* magnitudeV
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
for (int i = 0; i<(num_points % 16); ++i)
|
for (unsigned int i = 0; i<(num_points % 16); ++i)
|
||||||
{
|
{
|
||||||
const char valReal = *complexVectorPtr++;
|
const char valReal = *complexVectorPtr++;
|
||||||
const char valImag = *complexVectorPtr++;
|
const char valImag = *complexVectorPtr++;
|
||||||
@ -295,7 +295,7 @@ static inline void volk_gnsssdr_8ic_magnitude_squared_8i_a_generic(char* magnitu
|
|||||||
const char* complexVectorPtr = (char*)complexVector;
|
const char* complexVectorPtr = (char*)complexVector;
|
||||||
char* magnitudeVectorPtr = magnitudeVector;
|
char* magnitudeVectorPtr = magnitudeVector;
|
||||||
|
|
||||||
for(int number = 0; number < num_points; number++){
|
for(unsigned int number = 0; number < num_points; number++){
|
||||||
const char real = *complexVectorPtr++;
|
const char real = *complexVectorPtr++;
|
||||||
const char imag = *complexVectorPtr++;
|
const char imag = *complexVectorPtr++;
|
||||||
*magnitudeVectorPtr++ = (real*real) + (imag*imag);
|
*magnitudeVectorPtr++ = (real*real) + (imag*imag);
|
||||||
|
@ -66,7 +66,7 @@ static inline void volk_gnsssdr_8ic_s8ic_multiply_8ic_u_sse3(lv_8sc_t* cVector,
|
|||||||
imagy = _mm_and_si128 (imagy, mult1);
|
imagy = _mm_and_si128 (imagy, mult1);
|
||||||
realy = _mm_and_si128 (y, mult1);
|
realy = _mm_and_si128 (y, mult1);
|
||||||
|
|
||||||
for(int number = 0;number < sse_iters; number++){
|
for(unsigned int number = 0;number < sse_iters; number++){
|
||||||
|
|
||||||
x = _mm_lddqu_si128((__m128i*)a);
|
x = _mm_lddqu_si128((__m128i*)a);
|
||||||
|
|
||||||
@ -93,7 +93,7 @@ static inline void volk_gnsssdr_8ic_s8ic_multiply_8ic_u_sse3(lv_8sc_t* cVector,
|
|||||||
c += 8;
|
c += 8;
|
||||||
}
|
}
|
||||||
|
|
||||||
for (int i = 0; i<(num_points % 8); ++i)
|
for (unsigned int i = 0; i<(num_points % 8); ++i)
|
||||||
{
|
{
|
||||||
*c++ = (*a++) * scalar;
|
*c++ = (*a++) * scalar;
|
||||||
}
|
}
|
||||||
@ -178,7 +178,7 @@ static inline void volk_gnsssdr_8ic_s8ic_multiply_8ic_a_sse3(lv_8sc_t* cVector,
|
|||||||
imagy = _mm_and_si128 (imagy, mult1);
|
imagy = _mm_and_si128 (imagy, mult1);
|
||||||
realy = _mm_and_si128 (y, mult1);
|
realy = _mm_and_si128 (y, mult1);
|
||||||
|
|
||||||
for(int number = 0;number < sse_iters; number++){
|
for(unsigned int number = 0;number < sse_iters; number++){
|
||||||
|
|
||||||
x = _mm_load_si128((__m128i*)a);
|
x = _mm_load_si128((__m128i*)a);
|
||||||
|
|
||||||
@ -205,7 +205,7 @@ static inline void volk_gnsssdr_8ic_s8ic_multiply_8ic_a_sse3(lv_8sc_t* cVector,
|
|||||||
c += 8;
|
c += 8;
|
||||||
}
|
}
|
||||||
|
|
||||||
for (int i = 0; i<(num_points % 8); ++i)
|
for (unsigned int i = 0; i<(num_points % 8); ++i)
|
||||||
{
|
{
|
||||||
*c++ = (*a++) * scalar;
|
*c++ = (*a++) * scalar;
|
||||||
}
|
}
|
||||||
|
@ -117,7 +117,7 @@ static inline void volk_gnsssdr_8ic_x2_dot_prod_8ic_u_sse2(lv_8sc_t* result, con
|
|||||||
realcacc = _mm_setzero_si128();
|
realcacc = _mm_setzero_si128();
|
||||||
imagcacc = _mm_setzero_si128();
|
imagcacc = _mm_setzero_si128();
|
||||||
|
|
||||||
for(int number = 0; number < sse_iters; number++){
|
for(unsigned int number = 0; number < sse_iters; number++){
|
||||||
|
|
||||||
x = _mm_loadu_si128((__m128i*)a);
|
x = _mm_loadu_si128((__m128i*)a);
|
||||||
y = _mm_loadu_si128((__m128i*)b);
|
y = _mm_loadu_si128((__m128i*)b);
|
||||||
@ -161,7 +161,7 @@ static inline void volk_gnsssdr_8ic_x2_dot_prod_8ic_u_sse2(lv_8sc_t* result, con
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
for (int i = 0; i<(num_points % 8); ++i)
|
for (unsigned int i = 0; i<(num_points % 8); ++i)
|
||||||
{
|
{
|
||||||
dotProduct += (*a++) * (*b++);
|
dotProduct += (*a++) * (*b++);
|
||||||
}
|
}
|
||||||
@ -198,7 +198,7 @@ static inline void volk_gnsssdr_8ic_x2_dot_prod_8ic_u_sse4_1(lv_8sc_t* result, c
|
|||||||
realcacc = _mm_setzero_si128();
|
realcacc = _mm_setzero_si128();
|
||||||
imagcacc = _mm_setzero_si128();
|
imagcacc = _mm_setzero_si128();
|
||||||
|
|
||||||
for(int number = 0; number < sse_iters; number++){
|
for(unsigned int number = 0; number < sse_iters; number++){
|
||||||
|
|
||||||
x = _mm_lddqu_si128((__m128i*)a);
|
x = _mm_lddqu_si128((__m128i*)a);
|
||||||
y = _mm_lddqu_si128((__m128i*)b);
|
y = _mm_lddqu_si128((__m128i*)b);
|
||||||
@ -234,13 +234,13 @@ static inline void volk_gnsssdr_8ic_x2_dot_prod_8ic_u_sse4_1(lv_8sc_t* result, c
|
|||||||
|
|
||||||
_mm_storeu_si128((__m128i*)dotProductVector,totalc); // Store the results back into the dot product vector
|
_mm_storeu_si128((__m128i*)dotProductVector,totalc); // Store the results back into the dot product vector
|
||||||
|
|
||||||
for (int i = 0; i<8; ++i)
|
for (unsigned int i = 0; i<8; ++i)
|
||||||
{
|
{
|
||||||
dotProduct += dotProductVector[i];
|
dotProduct += dotProductVector[i];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
for (int i = 0; i<(num_points % 8); ++i)
|
for (unsigned int i = 0; i<(num_points % 8); ++i)
|
||||||
{
|
{
|
||||||
dotProduct += (*a++) * (*b++);
|
dotProduct += (*a++) * (*b++);
|
||||||
}
|
}
|
||||||
@ -338,7 +338,7 @@ static inline void volk_gnsssdr_8ic_x2_dot_prod_8ic_a_sse2(lv_8sc_t* result, con
|
|||||||
realcacc = _mm_setzero_si128();
|
realcacc = _mm_setzero_si128();
|
||||||
imagcacc = _mm_setzero_si128();
|
imagcacc = _mm_setzero_si128();
|
||||||
|
|
||||||
for(int number = 0; number < sse_iters; number++){
|
for(unsigned int number = 0; number < sse_iters; number++){
|
||||||
|
|
||||||
x = _mm_load_si128((__m128i*)a);
|
x = _mm_load_si128((__m128i*)a);
|
||||||
y = _mm_load_si128((__m128i*)b);
|
y = _mm_load_si128((__m128i*)b);
|
||||||
@ -376,13 +376,13 @@ static inline void volk_gnsssdr_8ic_x2_dot_prod_8ic_a_sse2(lv_8sc_t* result, con
|
|||||||
|
|
||||||
_mm_store_si128((__m128i*)dotProductVector,totalc); // Store the results back into the dot product vector
|
_mm_store_si128((__m128i*)dotProductVector,totalc); // Store the results back into the dot product vector
|
||||||
|
|
||||||
for (int i = 0; i<8; ++i)
|
for (unsigned int i = 0; i<8; ++i)
|
||||||
{
|
{
|
||||||
dotProduct += dotProductVector[i];
|
dotProduct += dotProductVector[i];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
for (int i = 0; i<(num_points % 8); ++i)
|
for (unsigned int i = 0; i<(num_points % 8); ++i)
|
||||||
{
|
{
|
||||||
dotProduct += (*a++) * (*b++);
|
dotProduct += (*a++) * (*b++);
|
||||||
}
|
}
|
||||||
@ -419,7 +419,7 @@ static inline void volk_gnsssdr_8ic_x2_dot_prod_8ic_a_sse4_1(lv_8sc_t* result, c
|
|||||||
realcacc = _mm_setzero_si128();
|
realcacc = _mm_setzero_si128();
|
||||||
imagcacc = _mm_setzero_si128();
|
imagcacc = _mm_setzero_si128();
|
||||||
|
|
||||||
for(int number = 0; number < sse_iters; number++){
|
for(unsigned int number = 0; number < sse_iters; number++){
|
||||||
|
|
||||||
x = _mm_load_si128((__m128i*)a);
|
x = _mm_load_si128((__m128i*)a);
|
||||||
y = _mm_load_si128((__m128i*)b);
|
y = _mm_load_si128((__m128i*)b);
|
||||||
@ -455,13 +455,13 @@ static inline void volk_gnsssdr_8ic_x2_dot_prod_8ic_a_sse4_1(lv_8sc_t* result, c
|
|||||||
|
|
||||||
_mm_store_si128((__m128i*)dotProductVector,totalc); // Store the results back into the dot product vector
|
_mm_store_si128((__m128i*)dotProductVector,totalc); // Store the results back into the dot product vector
|
||||||
|
|
||||||
for (int i = 0; i<8; ++i)
|
for (unsigned int i = 0; i<8; ++i)
|
||||||
{
|
{
|
||||||
dotProduct += dotProductVector[i];
|
dotProduct += dotProductVector[i];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
for (int i = 0; i<(num_points % 8); ++i)
|
for (unsigned int i = 0; i<(num_points % 8); ++i)
|
||||||
{
|
{
|
||||||
dotProduct += (*a++) * (*b++);
|
dotProduct += (*a++) * (*b++);
|
||||||
}
|
}
|
||||||
|
@ -60,7 +60,7 @@ static inline void volk_gnsssdr_8ic_x2_multiply_8ic_u_sse2(lv_8sc_t* cVector, co
|
|||||||
|
|
||||||
mult1 = _mm_set_epi8(0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255);
|
mult1 = _mm_set_epi8(0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255);
|
||||||
|
|
||||||
for(int number = 0;number < sse_iters; number++){
|
for(unsigned int number = 0;number < sse_iters; number++){
|
||||||
|
|
||||||
x = _mm_loadu_si128((__m128i*)a);
|
x = _mm_loadu_si128((__m128i*)a);
|
||||||
y = _mm_loadu_si128((__m128i*)b);
|
y = _mm_loadu_si128((__m128i*)b);
|
||||||
@ -93,7 +93,7 @@ static inline void volk_gnsssdr_8ic_x2_multiply_8ic_u_sse2(lv_8sc_t* cVector, co
|
|||||||
c += 8;
|
c += 8;
|
||||||
}
|
}
|
||||||
|
|
||||||
for (int i = 0; i<(num_points % 8); ++i)
|
for (unsigned int i = 0; i<(num_points % 8); ++i)
|
||||||
{
|
{
|
||||||
*c++ = (*a++) * (*b++);
|
*c++ = (*a++) * (*b++);
|
||||||
}
|
}
|
||||||
@ -122,7 +122,7 @@ static inline void volk_gnsssdr_8ic_x2_multiply_8ic_u_sse4_1(lv_8sc_t* cVector,
|
|||||||
zero = _mm_setzero_si128();
|
zero = _mm_setzero_si128();
|
||||||
mult1 = _mm_set_epi8(0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255);
|
mult1 = _mm_set_epi8(0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255);
|
||||||
|
|
||||||
for(int number = 0;number < sse_iters; number++){
|
for(unsigned int number = 0;number < sse_iters; number++){
|
||||||
|
|
||||||
x = _mm_lddqu_si128((__m128i*)a);
|
x = _mm_lddqu_si128((__m128i*)a);
|
||||||
y = _mm_lddqu_si128((__m128i*)b);
|
y = _mm_lddqu_si128((__m128i*)b);
|
||||||
@ -153,7 +153,7 @@ static inline void volk_gnsssdr_8ic_x2_multiply_8ic_u_sse4_1(lv_8sc_t* cVector,
|
|||||||
c += 8;
|
c += 8;
|
||||||
}
|
}
|
||||||
|
|
||||||
for (int i = 0; i<(num_points % 8); ++i)
|
for (unsigned int i = 0; i<(num_points % 8); ++i)
|
||||||
{
|
{
|
||||||
*c++ = (*a++) * (*b++);
|
*c++ = (*a++) * (*b++);
|
||||||
}
|
}
|
||||||
@ -173,7 +173,7 @@ static inline void volk_gnsssdr_8ic_x2_multiply_8ic_generic(lv_8sc_t* cVector, c
|
|||||||
const lv_8sc_t* aPtr = aVector;
|
const lv_8sc_t* aPtr = aVector;
|
||||||
const lv_8sc_t* bPtr = bVector;
|
const lv_8sc_t* bPtr = bVector;
|
||||||
|
|
||||||
for(int number = 0; number < num_points; number++){
|
for(unsigned int number = 0; number < num_points; number++){
|
||||||
*cPtr++ = (*aPtr++) * (*bPtr++);
|
*cPtr++ = (*aPtr++) * (*bPtr++);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -209,7 +209,7 @@ static inline void volk_gnsssdr_8ic_x2_multiply_8ic_a_sse2(lv_8sc_t* cVector, co
|
|||||||
|
|
||||||
mult1 = _mm_set_epi8(0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255);
|
mult1 = _mm_set_epi8(0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255);
|
||||||
|
|
||||||
for(int number = 0;number < sse_iters; number++){
|
for(unsigned int number = 0;number < sse_iters; number++){
|
||||||
|
|
||||||
x = _mm_load_si128((__m128i*)a);
|
x = _mm_load_si128((__m128i*)a);
|
||||||
y = _mm_load_si128((__m128i*)b);
|
y = _mm_load_si128((__m128i*)b);
|
||||||
@ -242,7 +242,7 @@ static inline void volk_gnsssdr_8ic_x2_multiply_8ic_a_sse2(lv_8sc_t* cVector, co
|
|||||||
c += 8;
|
c += 8;
|
||||||
}
|
}
|
||||||
|
|
||||||
for (int i = 0; i<(num_points % 8); ++i)
|
for (unsigned int i = 0; i<(num_points % 8); ++i)
|
||||||
{
|
{
|
||||||
*c++ = (*a++) * (*b++);
|
*c++ = (*a++) * (*b++);
|
||||||
}
|
}
|
||||||
@ -271,7 +271,7 @@ static inline void volk_gnsssdr_8ic_x2_multiply_8ic_a_sse4_1(lv_8sc_t* cVector,
|
|||||||
zero = _mm_setzero_si128();
|
zero = _mm_setzero_si128();
|
||||||
mult1 = _mm_set_epi8(0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255);
|
mult1 = _mm_set_epi8(0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255);
|
||||||
|
|
||||||
for(int number = 0;number < sse_iters; number++){
|
for(unsigned int number = 0;number < sse_iters; number++){
|
||||||
|
|
||||||
x = _mm_load_si128((__m128i*)a);
|
x = _mm_load_si128((__m128i*)a);
|
||||||
y = _mm_load_si128((__m128i*)b);
|
y = _mm_load_si128((__m128i*)b);
|
||||||
@ -302,7 +302,7 @@ static inline void volk_gnsssdr_8ic_x2_multiply_8ic_a_sse4_1(lv_8sc_t* cVector,
|
|||||||
c += 8;
|
c += 8;
|
||||||
}
|
}
|
||||||
|
|
||||||
for (int i = 0; i<(num_points % 8); ++i)
|
for (unsigned int i = 0; i<(num_points % 8); ++i)
|
||||||
{
|
{
|
||||||
*c++ = (*a++) * (*b++);
|
*c++ = (*a++) * (*b++);
|
||||||
}
|
}
|
||||||
@ -322,7 +322,7 @@ static inline void volk_gnsssdr_8ic_x2_multiply_8ic_a_generic(lv_8sc_t* cVector,
|
|||||||
const lv_8sc_t* aPtr = aVector;
|
const lv_8sc_t* aPtr = aVector;
|
||||||
const lv_8sc_t* bPtr = bVector;
|
const lv_8sc_t* bPtr = bVector;
|
||||||
|
|
||||||
for(int number = 0; number < num_points; number++){
|
for(unsigned int number = 0; number < num_points; number++){
|
||||||
*cPtr++ = (*aPtr++) * (*bPtr++);
|
*cPtr++ = (*aPtr++) * (*bPtr++);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -219,7 +219,7 @@ static inline void volk_gnsssdr_8ic_x5_cw_epl_corr_32fc_x3_u_sse2(lv_32fc_t* E_o
|
|||||||
|
|
||||||
if (sse_iters>0)
|
if (sse_iters>0)
|
||||||
{
|
{
|
||||||
for(int number = 0;number < sse_iters; number++){
|
for(unsigned int number = 0;number < sse_iters; number++){
|
||||||
|
|
||||||
//Perform the carrier wipe-off
|
//Perform the carrier wipe-off
|
||||||
x = _mm_loadu_si128((__m128i*)input_ptr);
|
x = _mm_loadu_si128((__m128i*)input_ptr);
|
||||||
@ -269,7 +269,7 @@ static inline void volk_gnsssdr_8ic_x5_cw_epl_corr_32fc_x3_u_sse2(lv_32fc_t* E_o
|
|||||||
_mm_storeu_ps((float*)P_dotProductVector,P_code_acc); // Store the results back into the dot product vector
|
_mm_storeu_ps((float*)P_dotProductVector,P_code_acc); // Store the results back into the dot product vector
|
||||||
_mm_storeu_ps((float*)L_dotProductVector,L_code_acc); // Store the results back into the dot product vector
|
_mm_storeu_ps((float*)L_dotProductVector,L_code_acc); // Store the results back into the dot product vector
|
||||||
|
|
||||||
for (int i = 0; i<2; ++i)
|
for (unsigned int i = 0; i<2; ++i)
|
||||||
{
|
{
|
||||||
*E_out_ptr += E_dotProductVector[i];
|
*E_out_ptr += E_dotProductVector[i];
|
||||||
*P_out_ptr += P_dotProductVector[i];
|
*P_out_ptr += P_dotProductVector[i];
|
||||||
@ -278,7 +278,7 @@ static inline void volk_gnsssdr_8ic_x5_cw_epl_corr_32fc_x3_u_sse2(lv_32fc_t* E_o
|
|||||||
}
|
}
|
||||||
|
|
||||||
lv_8sc_t bb_signal_sample;
|
lv_8sc_t bb_signal_sample;
|
||||||
for(int i=0; i < num_points%8; ++i)
|
for(unsigned int i=0; i < num_points%8; ++i)
|
||||||
{
|
{
|
||||||
//Perform the carrier wipe-off
|
//Perform the carrier wipe-off
|
||||||
bb_signal_sample = (*input_ptr++) * (*carrier_ptr++);
|
bb_signal_sample = (*input_ptr++) * (*carrier_ptr++);
|
||||||
@ -313,7 +313,7 @@ static inline void volk_gnsssdr_8ic_x5_cw_epl_corr_32fc_x3_generic(lv_32fc_t* E_
|
|||||||
*P_out = 0;
|
*P_out = 0;
|
||||||
*L_out = 0;
|
*L_out = 0;
|
||||||
// perform Early, Prompt and Late correlation
|
// perform Early, Prompt and Late correlation
|
||||||
for(int i=0; i < num_points; ++i)
|
for(unsigned int i=0; i < num_points; ++i)
|
||||||
{
|
{
|
||||||
//Perform the carrier wipe-off
|
//Perform the carrier wipe-off
|
||||||
bb_signal_sample = input[i] * carrier[i];
|
bb_signal_sample = input[i] * carrier[i];
|
||||||
@ -504,7 +504,7 @@ static inline void volk_gnsssdr_8ic_x5_cw_epl_corr_32fc_x3_a_sse2(lv_32fc_t* E_o
|
|||||||
|
|
||||||
if (sse_iters>0)
|
if (sse_iters>0)
|
||||||
{
|
{
|
||||||
for(int number = 0;number < sse_iters; number++){
|
for(unsigned int number = 0;number < sse_iters; number++){
|
||||||
|
|
||||||
//Perform the carrier wipe-off
|
//Perform the carrier wipe-off
|
||||||
x = _mm_load_si128((__m128i*)input_ptr);
|
x = _mm_load_si128((__m128i*)input_ptr);
|
||||||
@ -554,7 +554,7 @@ static inline void volk_gnsssdr_8ic_x5_cw_epl_corr_32fc_x3_a_sse2(lv_32fc_t* E_o
|
|||||||
_mm_store_ps((float*)P_dotProductVector,P_code_acc); // Store the results back into the dot product vector
|
_mm_store_ps((float*)P_dotProductVector,P_code_acc); // Store the results back into the dot product vector
|
||||||
_mm_store_ps((float*)L_dotProductVector,L_code_acc); // Store the results back into the dot product vector
|
_mm_store_ps((float*)L_dotProductVector,L_code_acc); // Store the results back into the dot product vector
|
||||||
|
|
||||||
for (int i = 0; i<2; ++i)
|
for (unsigned int i = 0; i<2; ++i)
|
||||||
{
|
{
|
||||||
*E_out_ptr += E_dotProductVector[i];
|
*E_out_ptr += E_dotProductVector[i];
|
||||||
*P_out_ptr += P_dotProductVector[i];
|
*P_out_ptr += P_dotProductVector[i];
|
||||||
@ -563,7 +563,7 @@ static inline void volk_gnsssdr_8ic_x5_cw_epl_corr_32fc_x3_a_sse2(lv_32fc_t* E_o
|
|||||||
}
|
}
|
||||||
|
|
||||||
lv_8sc_t bb_signal_sample;
|
lv_8sc_t bb_signal_sample;
|
||||||
for(int i=0; i < num_points%8; ++i)
|
for(unsigned int i=0; i < num_points%8; ++i)
|
||||||
{
|
{
|
||||||
//Perform the carrier wipe-off
|
//Perform the carrier wipe-off
|
||||||
bb_signal_sample = (*input_ptr++) * (*carrier_ptr++);
|
bb_signal_sample = (*input_ptr++) * (*carrier_ptr++);
|
||||||
@ -598,7 +598,7 @@ static inline void volk_gnsssdr_8ic_x5_cw_epl_corr_32fc_x3_a_generic(lv_32fc_t*
|
|||||||
*P_out = 0;
|
*P_out = 0;
|
||||||
*L_out = 0;
|
*L_out = 0;
|
||||||
// perform Early, Prompt and Late correlation
|
// perform Early, Prompt and Late correlation
|
||||||
for(int i=0; i < num_points; ++i)
|
for(unsigned int i=0; i < num_points; ++i)
|
||||||
{
|
{
|
||||||
//Perform the carrier wipe-off
|
//Perform the carrier wipe-off
|
||||||
bb_signal_sample = input[i] * carrier[i];
|
bb_signal_sample = input[i] * carrier[i];
|
||||||
|
@ -265,7 +265,7 @@ static inline void volk_gnsssdr_8ic_x5_cw_epl_corr_8ic_x3_u_sse2(lv_8sc_t* E_out
|
|||||||
|
|
||||||
if (sse_iters>0)
|
if (sse_iters>0)
|
||||||
{
|
{
|
||||||
for(int number = 0;number < sse_iters; number++){
|
for(unsigned int number = 0;number < sse_iters; number++){
|
||||||
|
|
||||||
//Perform the carrier wipe-off
|
//Perform the carrier wipe-off
|
||||||
x = _mm_loadu_si128((__m128i*)input_ptr);
|
x = _mm_loadu_si128((__m128i*)input_ptr);
|
||||||
@ -379,7 +379,7 @@ static inline void volk_gnsssdr_8ic_x5_cw_epl_corr_8ic_x3_u_sse2(lv_8sc_t* E_out
|
|||||||
}
|
}
|
||||||
|
|
||||||
lv_8sc_t bb_signal_sample;
|
lv_8sc_t bb_signal_sample;
|
||||||
for(int i=0; i < num_points%8; ++i)
|
for(unsigned int i=0; i < num_points%8; ++i)
|
||||||
{
|
{
|
||||||
//Perform the carrier wipe-off
|
//Perform the carrier wipe-off
|
||||||
bb_signal_sample = (*input_ptr++) * (*carrier_ptr++);
|
bb_signal_sample = (*input_ptr++) * (*carrier_ptr++);
|
||||||
@ -415,7 +415,7 @@ static inline void volk_gnsssdr_8ic_x5_cw_epl_corr_8ic_x3_generic(lv_8sc_t* E_ou
|
|||||||
*P_out = 0;
|
*P_out = 0;
|
||||||
*L_out = 0;
|
*L_out = 0;
|
||||||
// perform Early, Prompt and Late correlation
|
// perform Early, Prompt and Late correlation
|
||||||
for(int i=0; i < num_points; ++i)
|
for(unsigned int i=0; i < num_points; ++i)
|
||||||
{
|
{
|
||||||
//Perform the carrier wipe-off
|
//Perform the carrier wipe-off
|
||||||
bb_signal_sample = input[i] * carrier[i];
|
bb_signal_sample = input[i] * carrier[i];
|
||||||
@ -653,7 +653,7 @@ static inline void volk_gnsssdr_8ic_x5_cw_epl_corr_8ic_x3_a_sse2(lv_8sc_t* E_out
|
|||||||
|
|
||||||
if (sse_iters>0)
|
if (sse_iters>0)
|
||||||
{
|
{
|
||||||
for(int number = 0;number < sse_iters; number++){
|
for(unsigned int number = 0;number < sse_iters; number++){
|
||||||
|
|
||||||
//Perform the carrier wipe-off
|
//Perform the carrier wipe-off
|
||||||
x = _mm_load_si128((__m128i*)input_ptr);
|
x = _mm_load_si128((__m128i*)input_ptr);
|
||||||
@ -758,7 +758,7 @@ static inline void volk_gnsssdr_8ic_x5_cw_epl_corr_8ic_x3_a_sse2(lv_8sc_t* E_out
|
|||||||
output = _mm_or_si128 (real_P_code_acc, imag_P_code_acc);
|
output = _mm_or_si128 (real_P_code_acc, imag_P_code_acc);
|
||||||
_mm_store_si128((__m128i*)P_dotProductVector, output);
|
_mm_store_si128((__m128i*)P_dotProductVector, output);
|
||||||
|
|
||||||
for (int i = 0; i<8; ++i)
|
for (unsigned int i = 0; i<8; ++i)
|
||||||
{
|
{
|
||||||
*E_out_ptr += E_dotProductVector[i];
|
*E_out_ptr += E_dotProductVector[i];
|
||||||
*L_out_ptr += L_dotProductVector[i];
|
*L_out_ptr += L_dotProductVector[i];
|
||||||
@ -767,7 +767,7 @@ static inline void volk_gnsssdr_8ic_x5_cw_epl_corr_8ic_x3_a_sse2(lv_8sc_t* E_out
|
|||||||
}
|
}
|
||||||
|
|
||||||
lv_8sc_t bb_signal_sample;
|
lv_8sc_t bb_signal_sample;
|
||||||
for(int i=0; i < num_points%8; ++i)
|
for(unsigned int i=0; i < num_points%8; ++i)
|
||||||
{
|
{
|
||||||
//Perform the carrier wipe-off
|
//Perform the carrier wipe-off
|
||||||
bb_signal_sample = (*input_ptr++) * (*carrier_ptr++);
|
bb_signal_sample = (*input_ptr++) * (*carrier_ptr++);
|
||||||
@ -803,7 +803,7 @@ static inline void volk_gnsssdr_8ic_x5_cw_epl_corr_8ic_x3_a_generic(lv_8sc_t* E_
|
|||||||
*P_out = 0;
|
*P_out = 0;
|
||||||
*L_out = 0;
|
*L_out = 0;
|
||||||
// perform Early, Prompt and Late correlation
|
// perform Early, Prompt and Late correlation
|
||||||
for(int i=0; i < num_points; ++i)
|
for(unsigned int i=0; i < num_points; ++i)
|
||||||
{
|
{
|
||||||
//Perform the carrier wipe-off
|
//Perform the carrier wipe-off
|
||||||
bb_signal_sample = input[i] * carrier[i];
|
bb_signal_sample = input[i] * carrier[i];
|
||||||
|
@ -286,7 +286,7 @@ static inline void volk_gnsssdr_8ic_x7_cw_vepl_corr_32fc_x5_u_sse2(lv_32fc_t* VE
|
|||||||
|
|
||||||
if (sse_iters>0)
|
if (sse_iters>0)
|
||||||
{
|
{
|
||||||
for(int number = 0;number < sse_iters; number++){
|
for(unsigned int number = 0;number < sse_iters; number++){
|
||||||
|
|
||||||
//Perform the carrier wipe-off
|
//Perform the carrier wipe-off
|
||||||
x = _mm_loadu_si128((__m128i*)input_ptr);
|
x = _mm_loadu_si128((__m128i*)input_ptr);
|
||||||
@ -358,7 +358,7 @@ static inline void volk_gnsssdr_8ic_x7_cw_vepl_corr_32fc_x5_u_sse2(lv_32fc_t* VE
|
|||||||
_mm_storeu_ps((float*)L_dotProductVector,L_code_acc); // Store the results back into the dot product vector
|
_mm_storeu_ps((float*)L_dotProductVector,L_code_acc); // Store the results back into the dot product vector
|
||||||
_mm_storeu_ps((float*)VL_dotProductVector,VL_code_acc); // Store the results back into the dot product vector
|
_mm_storeu_ps((float*)VL_dotProductVector,VL_code_acc); // Store the results back into the dot product vector
|
||||||
|
|
||||||
for (int i = 0; i<2; ++i)
|
for (unsigned int i = 0; i<2; ++i)
|
||||||
{
|
{
|
||||||
*VE_out_ptr += VE_dotProductVector[i];
|
*VE_out_ptr += VE_dotProductVector[i];
|
||||||
*E_out_ptr += E_dotProductVector[i];
|
*E_out_ptr += E_dotProductVector[i];
|
||||||
@ -369,7 +369,7 @@ static inline void volk_gnsssdr_8ic_x7_cw_vepl_corr_32fc_x5_u_sse2(lv_32fc_t* VE
|
|||||||
}
|
}
|
||||||
|
|
||||||
lv_8sc_t bb_signal_sample;
|
lv_8sc_t bb_signal_sample;
|
||||||
for(int i=0; i < num_points%8; ++i)
|
for(unsigned int i=0; i < num_points%8; ++i)
|
||||||
{
|
{
|
||||||
//Perform the carrier wipe-off
|
//Perform the carrier wipe-off
|
||||||
bb_signal_sample = (*input_ptr++) * (*carrier_ptr++);
|
bb_signal_sample = (*input_ptr++) * (*carrier_ptr++);
|
||||||
@ -412,7 +412,7 @@ static inline void volk_gnsssdr_8ic_x7_cw_vepl_corr_32fc_x5_generic(lv_32fc_t* V
|
|||||||
*L_out = 0;
|
*L_out = 0;
|
||||||
*VL_out = 0;
|
*VL_out = 0;
|
||||||
// perform very early, Early, Prompt, Late and very late correlation
|
// perform very early, Early, Prompt, Late and very late correlation
|
||||||
for(int i=0; i < num_points; ++i)
|
for(unsigned int i=0; i < num_points; ++i)
|
||||||
{
|
{
|
||||||
//Perform the carrier wipe-off
|
//Perform the carrier wipe-off
|
||||||
bb_signal_sample = input[i] * carrier[i];
|
bb_signal_sample = input[i] * carrier[i];
|
||||||
@ -653,7 +653,7 @@ static inline void volk_gnsssdr_8ic_x7_cw_vepl_corr_32fc_x5_a_sse2(lv_32fc_t* VE
|
|||||||
|
|
||||||
if (sse_iters>0)
|
if (sse_iters>0)
|
||||||
{
|
{
|
||||||
for(int number = 0;number < sse_iters; number++){
|
for(unsigned int number = 0;number < sse_iters; number++){
|
||||||
|
|
||||||
//Perform the carrier wipe-off
|
//Perform the carrier wipe-off
|
||||||
x = _mm_load_si128((__m128i*)input_ptr);
|
x = _mm_load_si128((__m128i*)input_ptr);
|
||||||
@ -725,7 +725,7 @@ static inline void volk_gnsssdr_8ic_x7_cw_vepl_corr_32fc_x5_a_sse2(lv_32fc_t* VE
|
|||||||
_mm_store_ps((float*)L_dotProductVector,L_code_acc); // Store the results back into the dot product vector
|
_mm_store_ps((float*)L_dotProductVector,L_code_acc); // Store the results back into the dot product vector
|
||||||
_mm_store_ps((float*)VL_dotProductVector,VL_code_acc); // Store the results back into the dot product vector
|
_mm_store_ps((float*)VL_dotProductVector,VL_code_acc); // Store the results back into the dot product vector
|
||||||
|
|
||||||
for (int i = 0; i<2; ++i)
|
for (unsigned int i = 0; i<2; ++i)
|
||||||
{
|
{
|
||||||
*VE_out_ptr += VE_dotProductVector[i];
|
*VE_out_ptr += VE_dotProductVector[i];
|
||||||
*E_out_ptr += E_dotProductVector[i];
|
*E_out_ptr += E_dotProductVector[i];
|
||||||
@ -736,7 +736,7 @@ static inline void volk_gnsssdr_8ic_x7_cw_vepl_corr_32fc_x5_a_sse2(lv_32fc_t* VE
|
|||||||
}
|
}
|
||||||
|
|
||||||
lv_8sc_t bb_signal_sample;
|
lv_8sc_t bb_signal_sample;
|
||||||
for(int i=0; i < num_points%8; ++i)
|
for(unsigned int i=0; i < num_points%8; ++i)
|
||||||
{
|
{
|
||||||
//Perform the carrier wipe-off
|
//Perform the carrier wipe-off
|
||||||
bb_signal_sample = (*input_ptr++) * (*carrier_ptr++);
|
bb_signal_sample = (*input_ptr++) * (*carrier_ptr++);
|
||||||
@ -779,7 +779,7 @@ static inline void volk_gnsssdr_8ic_x7_cw_vepl_corr_32fc_x5_a_generic(lv_32fc_t*
|
|||||||
*L_out = 0;
|
*L_out = 0;
|
||||||
*VL_out = 0;
|
*VL_out = 0;
|
||||||
// perform very early, Early, Prompt, Late and very late correlation
|
// perform very early, Early, Prompt, Late and very late correlation
|
||||||
for(int i=0; i < num_points; ++i)
|
for(unsigned int i=0; i < num_points; ++i)
|
||||||
{
|
{
|
||||||
//Perform the carrier wipe-off
|
//Perform the carrier wipe-off
|
||||||
bb_signal_sample = input[i] * carrier[i];
|
bb_signal_sample = input[i] * carrier[i];
|
||||||
|
@ -1272,7 +1272,7 @@ static inline void volk_gnsssdr_8ic_x7_cw_vepl_corr_TEST_32fc_x5_generic(lv_32fc
|
|||||||
lv_16sc_t VL_code_value;
|
lv_16sc_t VL_code_value;
|
||||||
lv_16sc_t bb_signal_sample;
|
lv_16sc_t bb_signal_sample;
|
||||||
|
|
||||||
for(int i=0; i < num_points; ++i)
|
for(unsigned int i=0; i < num_points; ++i)
|
||||||
{
|
{
|
||||||
VE_code_value = VE_code[i];
|
VE_code_value = VE_code[i];
|
||||||
E_code_value = E_code[i];
|
E_code_value = E_code[i];
|
||||||
|
@ -347,7 +347,7 @@ static inline void volk_gnsssdr_8ic_x7_cw_vepl_corr_safe_32fc_x5_generic(lv_32fc
|
|||||||
lv_16sc_t VL_code_value;
|
lv_16sc_t VL_code_value;
|
||||||
lv_16sc_t bb_signal_sample;
|
lv_16sc_t bb_signal_sample;
|
||||||
|
|
||||||
for(int i=0; i < num_points; ++i)
|
for(unsigned int i=0; i < num_points; ++i)
|
||||||
{
|
{
|
||||||
VE_code_value = VE_code[i];
|
VE_code_value = VE_code[i];
|
||||||
E_code_value = E_code[i];
|
E_code_value = E_code[i];
|
||||||
@ -701,7 +701,7 @@ static inline void volk_gnsssdr_8ic_x7_cw_vepl_corr_safe_32fc_x5_a_generic(lv_32
|
|||||||
lv_16sc_t VL_code_value;
|
lv_16sc_t VL_code_value;
|
||||||
lv_16sc_t bb_signal_sample;
|
lv_16sc_t bb_signal_sample;
|
||||||
|
|
||||||
for(int i=0; i < num_points; ++i)
|
for(unsigned int i=0; i < num_points; ++i)
|
||||||
{
|
{
|
||||||
VE_code_value = VE_code[i];
|
VE_code_value = VE_code[i];
|
||||||
E_code_value = E_code[i];
|
E_code_value = E_code[i];
|
||||||
|
@ -289,7 +289,7 @@ static inline void volk_gnsssdr_8ic_x7_cw_vepl_corr_unsafe_32fc_x5_generic(lv_32
|
|||||||
|
|
||||||
lv_16sc_t bb_signal_sample;
|
lv_16sc_t bb_signal_sample;
|
||||||
|
|
||||||
for(int i=0; i < num_points; ++i)
|
for(unsigned int i=0; i < num_points; ++i)
|
||||||
{
|
{
|
||||||
//Perform the carrier wipe-off
|
//Perform the carrier wipe-off
|
||||||
bb_signal_sample = input[i] * carrier[i];
|
bb_signal_sample = input[i] * carrier[i];
|
||||||
@ -534,7 +534,7 @@ static inline void volk_gnsssdr_8ic_x7_cw_vepl_corr_unsafe_32fc_x5_a_generic(lv_
|
|||||||
|
|
||||||
lv_16sc_t bb_signal_sample;
|
lv_16sc_t bb_signal_sample;
|
||||||
|
|
||||||
for(int i=0; i < num_points; ++i)
|
for(unsigned int i=0; i < num_points; ++i)
|
||||||
{
|
{
|
||||||
//Perform the carrier wipe-off
|
//Perform the carrier wipe-off
|
||||||
bb_signal_sample = input[i] * carrier[i];
|
bb_signal_sample = input[i] * carrier[i];
|
||||||
|
@ -56,7 +56,7 @@ static inline void volk_gnsssdr_8u_x2_multiply_8u_u_sse3(unsigned char* cChar, c
|
|||||||
const unsigned char* a = aChar;
|
const unsigned char* a = aChar;
|
||||||
const unsigned char* b = bChar;
|
const unsigned char* b = bChar;
|
||||||
|
|
||||||
for(int number = 0;number < sse_iters; number++){
|
for(unsigned int number = 0;number < sse_iters; number++){
|
||||||
x = _mm_lddqu_si128((__m128i*)a);
|
x = _mm_lddqu_si128((__m128i*)a);
|
||||||
y = _mm_lddqu_si128((__m128i*)b);
|
y = _mm_lddqu_si128((__m128i*)b);
|
||||||
|
|
||||||
@ -84,7 +84,7 @@ static inline void volk_gnsssdr_8u_x2_multiply_8u_u_sse3(unsigned char* cChar, c
|
|||||||
c += 16;
|
c += 16;
|
||||||
}
|
}
|
||||||
|
|
||||||
for (int i = 0; i<(num_points % 16); ++i)
|
for (unsigned int i = 0; i<(num_points % 16); ++i)
|
||||||
{
|
{
|
||||||
*c++ = (*a++) * (*b++);
|
*c++ = (*a++) * (*b++);
|
||||||
}
|
}
|
||||||
@ -104,7 +104,7 @@ static inline void volk_gnsssdr_8u_x2_multiply_8u_generic(unsigned char* cChar,
|
|||||||
const unsigned char* aPtr = aChar;
|
const unsigned char* aPtr = aChar;
|
||||||
const unsigned char* bPtr = bChar;
|
const unsigned char* bPtr = bChar;
|
||||||
|
|
||||||
for(int number = 0; number < num_points; number++){
|
for(unsigned int number = 0; number < num_points; number++){
|
||||||
*cPtr++ = (*aPtr++) * (*bPtr++);
|
*cPtr++ = (*aPtr++) * (*bPtr++);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -138,7 +138,7 @@ static inline void volk_gnsssdr_8u_x2_multiply_8u_a_sse3(unsigned char* cChar, c
|
|||||||
const unsigned char* a = aChar;
|
const unsigned char* a = aChar;
|
||||||
const unsigned char* b = bChar;
|
const unsigned char* b = bChar;
|
||||||
|
|
||||||
for(int number = 0;number < sse_iters; number++){
|
for(unsigned int number = 0;number < sse_iters; number++){
|
||||||
x = _mm_load_si128((__m128i*)a);
|
x = _mm_load_si128((__m128i*)a);
|
||||||
y = _mm_load_si128((__m128i*)b);
|
y = _mm_load_si128((__m128i*)b);
|
||||||
|
|
||||||
@ -166,7 +166,7 @@ static inline void volk_gnsssdr_8u_x2_multiply_8u_a_sse3(unsigned char* cChar, c
|
|||||||
c += 16;
|
c += 16;
|
||||||
}
|
}
|
||||||
|
|
||||||
for (int i = 0; i<(num_points % 16); ++i)
|
for (unsigned int i = 0; i<(num_points % 16); ++i)
|
||||||
{
|
{
|
||||||
*c++ = (*a++) * (*b++);
|
*c++ = (*a++) * (*b++);
|
||||||
}
|
}
|
||||||
@ -186,7 +186,7 @@ static inline void volk_gnsssdr_8u_x2_multiply_8u_a_generic(unsigned char* cChar
|
|||||||
const unsigned char* aPtr = aChar;
|
const unsigned char* aPtr = aChar;
|
||||||
const unsigned char* bPtr = bChar;
|
const unsigned char* bPtr = bChar;
|
||||||
|
|
||||||
for(int number = 0; number < num_points; number++){
|
for(unsigned int number = 0; number < num_points; number++){
|
||||||
*cPtr++ = (*aPtr++) * (*bPtr++);
|
*cPtr++ = (*aPtr++) * (*bPtr++);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -324,7 +324,7 @@ static inline void volk_gnsssdr_s32f_x2_update_local_carrier_32fc_u_sse2(lv_32fc
|
|||||||
|
|
||||||
phase_rad_array = _mm_set_ps (phase_rad_init+3*phase_step_rad, phase_rad_init+2*phase_step_rad, phase_rad_init+phase_step_rad, phase_rad_init);
|
phase_rad_array = _mm_set_ps (phase_rad_init+3*phase_step_rad, phase_rad_init+2*phase_step_rad, phase_rad_init+phase_step_rad, phase_rad_init);
|
||||||
|
|
||||||
for(int i = 0; i < sse_iters; i++)
|
for(unsigned int i = 0; i < sse_iters; i++)
|
||||||
{
|
{
|
||||||
x = phase_rad_array;
|
x = phase_rad_array;
|
||||||
|
|
||||||
@ -412,9 +412,9 @@ static inline void volk_gnsssdr_s32f_x2_update_local_carrier_32fc_u_sse2(lv_32fc
|
|||||||
_mm_storeu_ps ((float*)sin_value, s);
|
_mm_storeu_ps ((float*)sin_value, s);
|
||||||
_mm_storeu_ps ((float*)cos_value, c);
|
_mm_storeu_ps ((float*)cos_value, c);
|
||||||
|
|
||||||
for(int i = 0; i < 4; i++)
|
for(unsigned int e = 0; e < 4; e++)
|
||||||
{
|
{
|
||||||
d_carr_sign[i] = lv_cmake(cos_value[i], sin_value[i]);
|
d_carr_sign[e] = lv_cmake(cos_value[e], sin_value[e]);
|
||||||
}
|
}
|
||||||
d_carr_sign += 4;
|
d_carr_sign += 4;
|
||||||
|
|
||||||
@ -428,7 +428,7 @@ static inline void volk_gnsssdr_s32f_x2_update_local_carrier_32fc_u_sse2(lv_32fc
|
|||||||
|
|
||||||
float phase_rad = phase_rad_store[0];
|
float phase_rad = phase_rad_store[0];
|
||||||
|
|
||||||
for(int i = 0; i < num_points%4; i++)
|
for(unsigned int i = 0; i < num_points%4; i++)
|
||||||
{
|
{
|
||||||
*d_carr_sign = lv_cmake(cos(phase_rad), -sin(phase_rad));
|
*d_carr_sign = lv_cmake(cos(phase_rad), -sin(phase_rad));
|
||||||
d_carr_sign++;
|
d_carr_sign++;
|
||||||
@ -453,7 +453,7 @@ static inline void volk_gnsssdr_s32f_x2_update_local_carrier_32fc_generic(lv_32f
|
|||||||
// *pointer2 = 0.5;
|
// *pointer2 = 0.5;
|
||||||
|
|
||||||
float phase_rad = phase_rad_init;
|
float phase_rad = phase_rad_init;
|
||||||
for(int i = 0; i < num_points; i++)
|
for(unsigned int i = 0; i < num_points; i++)
|
||||||
{
|
{
|
||||||
*d_carr_sign = lv_cmake(cos(phase_rad), -sin(phase_rad));
|
*d_carr_sign = lv_cmake(cos(phase_rad), -sin(phase_rad));
|
||||||
d_carr_sign++;
|
d_carr_sign++;
|
||||||
@ -725,7 +725,7 @@ static inline void volk_gnsssdr_s32f_x2_update_local_carrier_32fc_a_sse2(lv_32fc
|
|||||||
|
|
||||||
phase_rad_array = _mm_set_ps (phase_rad_init+3*phase_step_rad, phase_rad_init+2*phase_step_rad, phase_rad_init+phase_step_rad, phase_rad_init);
|
phase_rad_array = _mm_set_ps (phase_rad_init+3*phase_step_rad, phase_rad_init+2*phase_step_rad, phase_rad_init+phase_step_rad, phase_rad_init);
|
||||||
|
|
||||||
for(int i = 0; i < sse_iters; i++)
|
for(unsigned int i = 0; i < sse_iters; i++)
|
||||||
{
|
{
|
||||||
x = phase_rad_array;
|
x = phase_rad_array;
|
||||||
|
|
||||||
@ -813,9 +813,9 @@ static inline void volk_gnsssdr_s32f_x2_update_local_carrier_32fc_a_sse2(lv_32fc
|
|||||||
_mm_store_ps ((float*)sin_value, s);
|
_mm_store_ps ((float*)sin_value, s);
|
||||||
_mm_store_ps ((float*)cos_value, c);
|
_mm_store_ps ((float*)cos_value, c);
|
||||||
|
|
||||||
for(int i = 0; i < 4; i++)
|
for(unsigned int e = 0; e < 4; e++)
|
||||||
{
|
{
|
||||||
d_carr_sign[i] = lv_cmake(cos_value[i], sin_value[i]);
|
d_carr_sign[e] = lv_cmake(cos_value[e], sin_value[e]);
|
||||||
}
|
}
|
||||||
d_carr_sign += 4;
|
d_carr_sign += 4;
|
||||||
|
|
||||||
@ -829,7 +829,7 @@ static inline void volk_gnsssdr_s32f_x2_update_local_carrier_32fc_a_sse2(lv_32fc
|
|||||||
|
|
||||||
float phase_rad = phase_rad_store[0];
|
float phase_rad = phase_rad_store[0];
|
||||||
|
|
||||||
for(int i = 0; i < num_points%4; i++)
|
for(unsigned int i = 0; i < num_points%4; i++)
|
||||||
{
|
{
|
||||||
*d_carr_sign = lv_cmake(cos(phase_rad), -sin(phase_rad));
|
*d_carr_sign = lv_cmake(cos(phase_rad), -sin(phase_rad));
|
||||||
d_carr_sign++;
|
d_carr_sign++;
|
||||||
@ -854,7 +854,7 @@ static inline void volk_gnsssdr_s32f_x2_update_local_carrier_32fc_a_generic(lv_3
|
|||||||
// *pointer2 = 0.5;
|
// *pointer2 = 0.5;
|
||||||
|
|
||||||
float phase_rad = phase_rad_init;
|
float phase_rad = phase_rad_init;
|
||||||
for(int i = 0; i < num_points; i++)
|
for(unsigned int i = 0; i < num_points; i++)
|
||||||
{
|
{
|
||||||
*d_carr_sign = lv_cmake(cos(phase_rad), -sin(phase_rad));
|
*d_carr_sign = lv_cmake(cos(phase_rad), -sin(phase_rad));
|
||||||
d_carr_sign++;
|
d_carr_sign++;
|
||||||
|
Loading…
Reference in New Issue
Block a user