diff --git a/lib/include/srslte/phy/utils/mat.h b/lib/include/srslte/phy/utils/mat.h index 48d3b776d..d960590c4 100644 --- a/lib/include/srslte/phy/utils/mat.h +++ b/lib/include/srslte/phy/utils/mat.h @@ -30,6 +30,7 @@ #include "srslte/phy/utils/simd.h" #include "srslte/config.h" + /* * Generic Macros */ @@ -65,6 +66,7 @@ SRSLTE_API float srslte_mat_2x2_cn(cf_t h00, #ifdef LV_HAVE_SSE +#include /* SSE implementation for complex reciprocal */ SRSLTE_API __m128 srslte_mat_cf_recip_sse(__m128 a); @@ -88,6 +90,8 @@ SRSLTE_API void srslte_mat_2x2_mmse_sse(__m128 y0, __m128 y1, #ifdef LV_HAVE_AVX +#include + /* AVX implementation for complex reciprocal */ SRSLTE_API __m256 srslte_mat_cf_recip_avx(__m256 a); diff --git a/lib/src/phy/utils/mat.c b/lib/src/phy/utils/mat.c index 3c81d4a13..439daa2ce 100644 --- a/lib/src/phy/utils/mat.c +++ b/lib/src/phy/utils/mat.c @@ -25,7 +25,6 @@ */ #include -#include #include #include "srslte/phy/utils/mat.h" @@ -116,6 +115,7 @@ inline float srslte_mat_2x2_cn(cf_t h00, cf_t h01, cf_t h10, cf_t h11) { } #ifdef LV_HAVE_SSE +#include /* SSE implementation for complex reciprocal */ inline __m128 srslte_mat_cf_recip_sse(__m128 a) { @@ -186,6 +186,7 @@ inline void srslte_mat_2x2_mmse_sse(__m128 y0, __m128 y1, __m128 h00, __m128 h01 #endif /* LV_HAVE_SSE */ #ifdef LV_HAVE_AVX +#include /* AVX implementation for complex reciprocal */ inline __m256 srslte_mat_cf_recip_avx(__m256 a) { diff --git a/lib/src/phy/utils/vector.c b/lib/src/phy/utils/vector.c index 742b9573f..d78f5d707 100644 --- a/lib/src/phy/utils/vector.c +++ b/lib/src/phy/utils/vector.c @@ -35,6 +35,16 @@ #include "srslte/phy/utils/vector_simd.h" #include "srslte/phy/utils/bit.h" + +#ifdef LV_HAVE_SSE +#include +#endif + +#ifdef LV_HAVE_AVX +#include +#endif + + #ifdef HAVE_VOLK #include "volk/volk.h" #endif