|
|
@ -707,11 +707,13 @@ static inline void srslte_simd_cf_storeu(float *re, float *im, simd_cf_t simdreg
|
|
|
|
|
|
|
|
|
|
|
|
static inline simd_f_t srslte_simd_cf_re(simd_cf_t in) {
|
|
|
|
static inline simd_f_t srslte_simd_cf_re(simd_cf_t in) {
|
|
|
|
simd_f_t out = in.re;
|
|
|
|
simd_f_t out = in.re;
|
|
|
|
|
|
|
|
#ifndef LV_HAVE_AVX512
|
|
|
|
#ifdef LV_HAVE_AVX2
|
|
|
|
#ifdef LV_HAVE_AVX2
|
|
|
|
/* Permute for AVX registers (mis SSE registers) */
|
|
|
|
/* Permute for AVX registers (mis SSE registers) */
|
|
|
|
const __m256i idx = _mm256_setr_epi32(0, 2, 4, 6, 1, 3, 5, 7);
|
|
|
|
const __m256i idx = _mm256_setr_epi32(0, 2, 4, 6, 1, 3, 5, 7);
|
|
|
|
out = _mm256_permutevar8x32_ps(out, idx);
|
|
|
|
out = _mm256_permutevar8x32_ps(out, idx);
|
|
|
|
#endif /* LV_HAVE_AVX2 */
|
|
|
|
#endif /* LV_HAVE_AVX2 */
|
|
|
|
|
|
|
|
#endif /* LV_HAVE_AVX512 */
|
|
|
|
return out;
|
|
|
|
return out;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|