mirror of https://github.com/PentHertz/srsLTE.git
Fixes #259: Turbodecoder AVX2 instructions under LV_HAVE_AVX (instead of LV_HAVE_AVX2)
This commit is contained in:
parent
184539b87d
commit
a9fcd64b1f
|
@ -65,8 +65,8 @@
|
||||||
#else
|
#else
|
||||||
#ifdef WINIMP_IS_AVX16
|
#ifdef WINIMP_IS_AVX16
|
||||||
|
|
||||||
#ifndef LV_HAVE_AVX
|
#ifndef LV_HAVE_AVX2
|
||||||
#error "Selected AVX window decoder but instruction set not supported"
|
#error "Selected AVX2 window decoder but instruction set not supported"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#include <immintrin.h>
|
#include <immintrin.h>
|
||||||
|
@ -139,8 +139,8 @@
|
||||||
|
|
||||||
#ifdef WINIMP_IS_AVX8
|
#ifdef WINIMP_IS_AVX8
|
||||||
|
|
||||||
#ifndef LV_HAVE_AVX
|
#ifndef LV_HAVE_AVX2
|
||||||
#error "Selected AVX window decoder but instruction set not supported"
|
#error "Selected AVX2 window decoder but instruction set not supported"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#include <immintrin.h>
|
#include <immintrin.h>
|
||||||
|
|
|
@ -71,7 +71,7 @@ srslte_tdec_16bit_impl_t sse16_win_impl = {
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/* AVX window implementation */
|
/* AVX window implementation */
|
||||||
#ifdef LV_HAVE_AVX
|
#ifdef LV_HAVE_AVX2
|
||||||
#define WINIMP_IS_AVX16
|
#define WINIMP_IS_AVX16
|
||||||
#include "srslte/phy/fec/turbodecoder_win.h"
|
#include "srslte/phy/fec/turbodecoder_win.h"
|
||||||
#undef WINIMP_IS_AVX16
|
#undef WINIMP_IS_AVX16
|
||||||
|
@ -100,7 +100,7 @@ srslte_tdec_8bit_impl_t sse8_win_impl = {
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/* AVX window implementation */
|
/* AVX window implementation */
|
||||||
#ifdef LV_HAVE_AVX
|
#ifdef LV_HAVE_AVX2
|
||||||
#define WINIMP_IS_AVX8
|
#define WINIMP_IS_AVX8
|
||||||
#include "srslte/phy/fec/turbodecoder_win.h"
|
#include "srslte/phy/fec/turbodecoder_win.h"
|
||||||
#undef WINIMP_IS_AVX8
|
#undef WINIMP_IS_AVX8
|
||||||
|
@ -178,7 +178,7 @@ int srslte_tdec_init_manual(srslte_tdec_t * h, uint32_t max_long_cb, srslte_tdec
|
||||||
h->dec8[0] = &sse8_win_impl;
|
h->dec8[0] = &sse8_win_impl;
|
||||||
h->current_llr_type = SRSLTE_TDEC_8;
|
h->current_llr_type = SRSLTE_TDEC_8;
|
||||||
break;
|
break;
|
||||||
#ifdef LV_HAVE_AVX
|
#ifdef LV_HAVE_AVX2
|
||||||
case SRSLTE_TDEC_AVX_WINDOW:
|
case SRSLTE_TDEC_AVX_WINDOW:
|
||||||
h->dec16[0] = &avx16_win_impl;
|
h->dec16[0] = &avx16_win_impl;
|
||||||
h->current_llr_type = SRSLTE_TDEC_16;
|
h->current_llr_type = SRSLTE_TDEC_16;
|
||||||
|
@ -240,7 +240,7 @@ int srslte_tdec_init_manual(srslte_tdec_t * h, uint32_t max_long_cb, srslte_tdec
|
||||||
h->dec16[AUTO_16_SSE] = &sse_impl;
|
h->dec16[AUTO_16_SSE] = &sse_impl;
|
||||||
h->dec16[AUTO_16_SSEWIN] = &sse16_win_impl;
|
h->dec16[AUTO_16_SSEWIN] = &sse16_win_impl;
|
||||||
h->dec8[AUTO_8_SSEWIN] = &sse8_win_impl;
|
h->dec8[AUTO_8_SSEWIN] = &sse8_win_impl;
|
||||||
#ifdef LV_HAVE_AVX
|
#ifdef LV_HAVE_AVX2
|
||||||
h->dec16[AUTO_16_AVXWIN] = &avx16_win_impl;
|
h->dec16[AUTO_16_AVXWIN] = &avx16_win_impl;
|
||||||
h->dec8[AUTO_8_AVXWIN] = &avx8_win_impl;
|
h->dec8[AUTO_8_AVXWIN] = &avx8_win_impl;
|
||||||
#endif
|
#endif
|
||||||
|
@ -363,7 +363,7 @@ static void tdec_decision_byte(srslte_tdec_t * h, uint8_t *output)
|
||||||
/* Returns number of subblocks in automatic mode for this long_cb */
|
/* Returns number of subblocks in automatic mode for this long_cb */
|
||||||
uint32_t srslte_tdec_autoimp_get_subblocks(uint32_t long_cb)
|
uint32_t srslte_tdec_autoimp_get_subblocks(uint32_t long_cb)
|
||||||
{
|
{
|
||||||
#ifdef LV_HAVE_AVX
|
#ifdef LV_HAVE_AVX2
|
||||||
if (!(long_cb%16) && long_cb > 800) {
|
if (!(long_cb%16) && long_cb > 800) {
|
||||||
return 16;
|
return 16;
|
||||||
} else
|
} else
|
||||||
|
@ -391,7 +391,7 @@ static int tdec_sb_idx(uint32_t long_cb) {
|
||||||
|
|
||||||
uint32_t srslte_tdec_autoimp_get_subblocks_8bit(uint32_t long_cb)
|
uint32_t srslte_tdec_autoimp_get_subblocks_8bit(uint32_t long_cb)
|
||||||
{
|
{
|
||||||
#ifdef LV_HAVE_AVX
|
#ifdef LV_HAVE_AVX2
|
||||||
if (!(long_cb%32) && long_cb > 2048) {
|
if (!(long_cb%32) && long_cb > 2048) {
|
||||||
return 32;
|
return 32;
|
||||||
} else
|
} else
|
||||||
|
|
Loading…
Reference in New Issue