[FFmpeg-devel] [PATCH 02/12] mips/float_dsp: replace assembly with C implementations

James Cowgill james410 at cowgill.org.uk
Thu Feb 26 14:55:48 CET 2015


On Thu, 2015-02-26 at 13:51 +0000, Derek Buitenhuis wrote:
> On 2/26/2015 1:42 PM, James Cowgill wrote:
> > The assembly versions have a few problems
> > - They only work with mips32r2 enabled
> > - They don't work on 64-bits
> > - They're massive and complex
> > 
> > So replace them with C implementations which solve these problems and let GCC
> > magically optimize for different platforms. All the functions are manually
> > unrolled 4 times (like the assembly code). With the addition of a few restrict
> > keywords, the functions produce almost identical assembly to the original
> > versions when compiled with gcc -O3.
> 
> Why have C implementations in the *MIPS* DSP code? That's silly.

Hmm maybe a little. I was just worried that if I moved all the loop
unrolling stuff into generic code it might go slower on other arches I
haven't tested.

James



More information about the ffmpeg-devel mailing list