[FFmpeg-cvslog] r12512 - trunk/libavcodec/i386/dsputil_mmx.c

Uoti Urpala uoti.urpala
Fri Mar 21 01:28:18 CET 2008


On Fri, 2008-03-21 at 00:55 +0100, Michael Niedermayer wrote:
> On Fri, Mar 21, 2008 at 12:16:53AM +0200, Uoti Urpala wrote:
> > On Thu, 2008-03-20 at 14:52 -0700, Mike Melanson wrote:
> > > michael wrote:
> > > > Log:
> > > > Hardcode register to prevent aparent miscompilation.
> > > > Fixes regression tests with gcc 2.95.
> > > 
> > > Awesome. FATE thanks you. :)
> > 
> > Not so awesome for people with working compilers. The change makes the
> > code worse for the sake of working around bugs in an obsolete compiler.
> 
> #define uoti_worse_code supports_gcc2_95()

Code which unnecessarily hardcodes parameters to particular registers.
Is there any reason why some of the other parameters were already
hardcoded btw?

> Anyway, the "worse" code should be faster, as it uses a register where the old
> could use memory.

It could only be faster if gcc actually used memory. And even if you
wanted to ensure that a register is used that's no reason to hardcode a
particular register.

>  Also the gcc 2.95 bug helped finding a unused temp variable
> (see previous commit) removing that surely improved speed.

Sure. Going through the code to remove hacks and workarounds that were
added for gcc-2.95 could lead to finding such improvements just as well.





More information about the ffmpeg-cvslog mailing list