[sdiy] Re: 1970's again? Now DSP assembly
Cornutt, David K
david.k.cornutt at boeing.com
Mon Jan 31 22:02:39 CET 2005
From: Kenneth Elhardt [mailto:elhardt at worldnet.att.net]
>
> for(k=0;k<=510;k++) ftemp+=(fir[k]*(float)*s++);
>
> No amount of loop unrolling or indexing arrays with pointers
> could improve
> the speed (they made it slower). A simple re-write in
> assembly and it runs
> 3.3 times faster.
Just out of curiousity, did you ever look at the code
generated by the compiler? A lot of the C compilers that
I know of want to do all float calcs in double precision
internally (despite what the ANSI standard says).
Although, as you say, the difference is probably due
to the compiler not generating code as tight as what
one can write in assembler. And yes, that especially
goes for anything that's (shiver) 8080-based.
More information about the Synth-diy
mailing list