fix: Compilation for ARMv7a and A32

This commit is contained in:
Antoine SOULIER
2022-05-13 09:48:03 +02:00
parent b36fec6ffa
commit 72d868b755
4 changed files with 57 additions and 42 deletions

View File

@@ -16,20 +16,10 @@
*
******************************************************************************/
#if __ARM_NEON
/**
* Configuration
*/
#if __ARM_NEON && __ARM_ARCH_ISA_A64
#ifndef TEST_NEON
#include <arm_neon.h>
#define fft_5 neon_fft_5
#define fft_bf3 neon_fft_bf3
#define fft_bf2 neon_fft_bf2
#endif /* TEST_NEON */
@@ -37,6 +27,8 @@
* FFT 5 Points
* The number of interleaved transform `n` assumed to be even
*/
#ifndef fft_5
#define fft_5 neon_fft_5
LC3_HOT static inline void neon_fft_5(
const struct lc3_complex *x, struct lc3_complex *y, int n)
{
@@ -105,10 +97,13 @@ LC3_HOT static inline void neon_fft_5(
vst1_f32( (float *)(y + 9), vget_high_f32(y4) );
}
}
#endif /* fft_5 */
/**
* FFT Butterfly 3 Points
*/
#ifndef fft_bf3
#define fft_bf3 neon_fft_bf3
LC3_HOT static inline void neon_fft_bf3(
const struct lc3_fft_bf3_twiddles *twiddles,
const struct lc3_complex *x, struct lc3_complex *y, int n)
@@ -211,10 +206,13 @@ LC3_HOT static inline void neon_fft_bf3(
}
}
#endif /* fft_bf3 */
/**
* FFT Butterfly 2 Points
*/
#ifndef fft_bf2
#define fft_bf2 neon_fft_bf2
LC3_HOT static inline void neon_fft_bf2(
const struct lc3_fft_bf2_twiddles *twiddles,
const struct lc3_complex *x, struct lc3_complex *y, int n)
@@ -277,5 +275,6 @@ LC3_HOT static inline void neon_fft_bf2(
}
}
}
#endif /* fft_bf2 */
#endif /* __ARM_NEON */
#endif /* __ARM_NEON && __ARM_ARCH_ISA_A64 */