From d48dcc25b4dd027b60729a4765b0493d4faa1872 Mon Sep 17 00:00:00 2001 From: yagoda Date: Wed, 31 May 2017 22:19:26 +0100 Subject: [PATCH] updating avx vectors and viterbi --- srslte/include/srslte/utils/vector_simd.h | 26 ++++----- srslte/lib/fec/test/viterbi_test.c | 2 +- srslte/lib/fec/viterbi.c | 9 +-- srslte/lib/utils/vector.c | 68 +++++++++++++++-------- srslte/lib/utils/vector_simd.c | 35 +++++++----- 5 files changed, 81 insertions(+), 59 deletions(-) diff --git a/srslte/include/srslte/utils/vector_simd.h b/srslte/include/srslte/utils/vector_simd.h index 3ecdf7b59..5cea166b3 100644 --- a/srslte/include/srslte/utils/vector_simd.h +++ b/srslte/include/srslte/utils/vector_simd.h @@ -35,46 +35,46 @@ extern "C" { #include #include "srslte/config.h" -SRSLTE_API int srslte_vec_dot_prod_sss_simd(short *x, short *y, uint32_t len); +SRSLTE_API int srslte_vec_dot_prod_sss_sse(short *x, short *y, uint32_t len); -SRSLTE_API int srslte_vec_dot_prod_sss_simd_avx(short *x, short *y, uint32_t len); +SRSLTE_API int srslte_vec_dot_prod_sss_avx(short *x, short *y, uint32_t len); -SRSLTE_API void srslte_vec_sum_sss_simd(short *x, short *y, short *z, uint32_t len); +SRSLTE_API void srslte_vec_sum_sss_sse(short *x, short *y, short *z, uint32_t len); -SRSLTE_API void srslte_vec_sum_sss_simd_avx(short *x, short *y, short *z, uint32_t len); +SRSLTE_API void srslte_vec_sum_sss_avx(short *x, short *y, short *z, uint32_t len); -SRSLTE_API void srslte_vec_sub_sss_simd(short *x, short *y, short *z, uint32_t len); +SRSLTE_API void srslte_vec_sub_sss_sse(short *x, short *y, short *z, uint32_t len); -SRSLTE_API void srslte_vec_sub_sss_simd_avx(short *x, short *y, short *z, uint32_t len); +SRSLTE_API void srslte_vec_sub_sss_avx(short *x, short *y, short *z, uint32_t len); -SRSLTE_API void srslte_vec_prod_sss_simd(short *x, short *y, short *z, uint32_t len); +SRSLTE_API void srslte_vec_prod_sss_sse(short *x, short *y, short *z, uint32_t len); -SRSLTE_API void srslte_vec_prod_sss_simd_avx(short *x, short *y, short *z, uint32_t len); +SRSLTE_API void srslte_vec_prod_sss_avx(short *x, short *y, short *z, uint32_t len); -SRSLTE_API void srslte_vec_sc_div2_sss_simd(short *x, int n_rightshift, short *z, uint32_t len); +SRSLTE_API void srslte_vec_sc_div2_sss_sse(short *x, int n_rightshift, short *z, uint32_t len); -SRSLTE_API void srslte_vec_sc_div2_sss_simd_avx(short *x, int k, short *z, uint32_t len); +SRSLTE_API void srslte_vec_sc_div2_sss_avx(short *x, int k, short *z, uint32_t len); -SRSLTE_API void srslte_vec_lut_sss_simd(short *x, unsigned short *lut, short *y, uint32_t len); +SRSLTE_API void srslte_vec_lut_sss_sse(short *x, unsigned short *lut, short *y, uint32_t len); -SRSLTE_API void srslte_vec_convert_fi_simd(float *x, int16_t *z, float scale, uint32_t len); +SRSLTE_API void srslte_vec_convert_fi_sse(float *x, int16_t *z, float scale, uint32_t len); -SRSLTE_API void srslte_32fc_s32f_multiply_32fc_avx( cf_t *z,const cf_t *x,const float h,const uint32_t len); +SRSLTE_API void srslte_vec_mult_scalar_cf_f_avx( cf_t *z,const cf_t *x,const float h,const uint32_t len); #ifdef __cplusplus } #endif diff --git a/srslte/lib/fec/test/viterbi_test.c b/srslte/lib/fec/test/viterbi_test.c index 3d3e7f64a..f619b50b9 100644 --- a/srslte/lib/fec/test/viterbi_test.c +++ b/srslte/lib/fec/test/viterbi_test.c @@ -213,7 +213,7 @@ int main(int argc, char **argv) { gettimeofday(&t[1], NULL); int M = 1; - srslte_vec_fprint_b(stdout, data_tx, frame_length); + //srslte_vec_fprint_b(stdout, data_tx, frame_length); for (int i=0;i