diff options
author | Anthony Blake <anthonix@me.com> | 2013-04-10 10:51:59 +1200 |
---|---|---|
committer | Anthony Blake <anthonix@me.com> | 2013-04-10 10:51:59 +1200 |
commit | a45464980b8de7faef21eb46479f7e09fd056441 (patch) | |
tree | 272b1a6c0dba73a25d565940928e169116887d6e /src/ffts.c | |
parent | 7f43121489310f9c5131a9e20f5aff532b66ad6b (diff) | |
download | ffts-a45464980b8de7faef21eb46479f7e09fd056441.zip ffts-a45464980b8de7faef21eb46479f7e09fd056441.tar.gz |
Disabled some NEON code still in the VFP builds
Diffstat (limited to 'src/ffts.c')
-rw-r--r-- | src/ffts.c | 15 |
1 files changed, 13 insertions, 2 deletions
@@ -88,11 +88,20 @@ ffts_plan_t *ffts_init_1d(size_t N, int sign) { size_t leafN = 8; size_t i; +#ifdef __arm__ +#ifdef HAVE_NEON V MULI_SIGN; if(sign < 0) MULI_SIGN = VLIT4(-0.0f, 0.0f, -0.0f, 0.0f); else MULI_SIGN = VLIT4(0.0f, -0.0f, 0.0f, -0.0f); +#endif +#else + V MULI_SIGN; + if(sign < 0) MULI_SIGN = VLIT4(-0.0f, 0.0f, -0.0f, 0.0f); + else MULI_SIGN = VLIT4(0.0f, -0.0f, 0.0f, -0.0f); +#endif + p->transform = NULL; p->transform_base = NULL; p->transforms = NULL; @@ -164,7 +173,7 @@ ffts_plan_t *ffts_init_1d(size_t N, int sign) { for(i=0;i<n_luts;i++) { if(!i || hardcoded) { - #ifdef HAVE_NEON + #ifdef __arm__ if(N <= 32) lut_size += n/4 * 2 * sizeof(cdata_t); else lut_size += n/4 * sizeof(cdata_t); #else @@ -172,7 +181,7 @@ ffts_plan_t *ffts_init_1d(size_t N, int sign) { #endif n *= 2; } else { - #ifdef HAVE_NEON + #ifdef __arm__ lut_size += n/8 * 3 * sizeof(cdata_t); #else lut_size += n/8 * 3 * 2 * sizeof(cdata_t); @@ -221,6 +230,7 @@ ffts_plan_t *ffts_init_1d(size_t N, int sign) { float *fw = (float *)w; V temp0, temp1, temp2; for(j=0;j<n/4;j+=2) { + #ifdef HAVE_NEON temp0 = VLD(fw0 + j*2); V re, im; re = VDUPRE(temp0); @@ -228,6 +238,7 @@ ffts_plan_t *ffts_init_1d(size_t N, int sign) { im = VXOR(im, MULI_SIGN); VST(fw + j*4 , re); VST(fw + j*4+4, im); + #endif } w += n/4 * 2; }else{ |