comparison peck_fft.h @ 4:2d6c49fcafcb

neon2 and neon4 support
author Peter Meerwald <p.meerwald@bct-electronic.com>
date Fri, 16 Sep 2011 14:04:19 +0200
parents 3b31bd44a09f
children
comparison
equal deleted inserted replaced
3:3b31bd44a09f 4:2d6c49fcafcb
8 8
9 #ifdef __cplusplus 9 #ifdef __cplusplus
10 extern "C" { 10 extern "C" {
11 #endif 11 #endif
12 12
13 #ifdef USE_SIMD 13 #define SIMD_SSE2 1
14 # include <xmmintrin.h> 14 #define SIMD_NEON4 2
15 # define peck_fft_scalar __m128 15 #define SIMD_NEON2 3
16 #define PECK_FFT_MALLOC(nbytes) _mm_malloc(nbytes, 16) 16
17 #define PECK_FFT_FREE _mm_free 17 #if USE_SIMD == SIMD_SSE2
18 #include <xmmintrin.h>
19 #define peck_fft_scalar __m128
20 #define PECK_FFT_MALLOC(nbytes) _mm_malloc(nbytes, 16)
21 #define PECK_FFT_FREE _mm_free
22 #elif USE_SIMD == SIMD_NEON4
23 #include <arm_neon.h>
24 #define peck_fft_scalar float32x4_t
25 #define PECK_FFT_MALLOC malloc
26 #define PECK_FFT_FREE free
27 #elif USE_SIMD == SIMD_NEON2
28 #include <arm_neon.h>
29 #define peck_fft_scalar float32x2_t
30 #define PECK_FFT_MALLOC malloc
31 #define PECK_FFT_FREE free
18 #else 32 #else
19 #define PECK_FFT_MALLOC malloc 33 #define PECK_FFT_MALLOC malloc
20 #define PECK_FFT_FREE free 34 #define PECK_FFT_FREE free
21 #endif 35 #endif
22 36
23 37
24 #ifdef FIXED_POINT 38 #ifdef FIXED_POINT
25 #include <sys/types.h> 39 #include <sys/types.h>

Repositories maintained by Peter Meerwald, pmeerw@pmeerw.net.