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

Michael Niedermayer michaelni at gmx.at
Wed Mar 4 11:54:31 CET 2015


On Thu, Feb 26, 2015 at 01:55:48PM +0000, James Cowgill wrote:
> 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.

i suspect unrolling tiny/small loops a bit helps on most architectures

[...]
-- 
Michael     GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB

During times of universal deceit, telling the truth becomes a
revolutionary act. -- George Orwell
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 181 bytes
Desc: Digital signature
URL: <https://ffmpeg.org/pipermail/ffmpeg-devel/attachments/20150304/3fbc87ce/attachment.asc>


More information about the ffmpeg-devel mailing list