[FFmpeg-cvslog] r25254 - trunk/libavcodec/x86/h264dsp_mmx.c

Michael Niedermayer michaelni
Wed Sep 29 19:11:51 CEST 2010


On Wed, Sep 29, 2010 at 12:19:45PM -0400, Ronald S. Bultje wrote:
> Hi,
> 
> On Wed, Sep 29, 2010 at 12:03 PM, Michael Niedermayer <michaelni at gmx.at> wrote:
> > On Wed, Sep 29, 2010 at 04:02:32PM +0200, rbultje wrote:
> >> Author: rbultje
> >> Date: Wed Sep 29 16:02:32 2010
> >> New Revision: 25254
> >>
> >> Log:
> >> Remove d_idx as a variable, and instead load it as a constant in the asm.
> >> This has no measurable speed effect because the surrounding code doesn't
> >> take advantage of this yet.
> > [...]
> >> @@ -125,34 +124,41 @@ static av_always_inline void h264_loop_f
> >> ? ? ? ? ? ? ? ? ? ? ? ? ?"por ? ? ? ? ? %%mm1, %%mm0 \n"
> >> ? ? ? ? ? ? ? ? ? ? ? ? ?"pshufw $0x4E, %%mm0, %%mm1 \n"
> >> ? ? ? ? ? ? ? ? ? ? ? ? ?"pminub ? ? ? ?%%mm1, %%mm0 \n"
> >> - ? ? ? ? ? ? ? ? ? ? ? ?::"r"(d_idx),
> >> - ? ? ? ? ? ? ? ? ? ? ? ? ?"r"(ref[0]+b_idx),
> >> - ? ? ? ? ? ? ? ? ? ? ? ? ?"r"(mv[0]+b_idx)
> >> + ? ? ? ? ? ? ? ? ? ? ? ?::"r"(ref[0]+b_idx),
> >> + ? ? ? ? ? ? ? ? ? ? ? ? ?"r"(mv[0]+b_idx),
> >> + ? ? ? ? ? ? ? ? ? ? ? ? ?"i"(d_idx),
> >> + ? ? ? ? ? ? ? ? ? ? ? ? ?"i"(d_idx+40),
> >> + ? ? ? ? ? ? ? ? ? ? ? ? ?"i"(d_idx*4),
> >> + ? ? ? ? ? ? ? ? ? ? ? ? ?"i"(d_idx*4+8),
> >> + ? ? ? ? ? ? ? ? ? ? ? ? ?"i"(d_idx*4+160),
> >> + ? ? ? ? ? ? ? ? ? ? ? ? ?"i"(d_idx*4+168)
> >
> > It appears that some gccs have difficulty with constant propagation, so i
> > suspect that this has to be changed to a macro instead of a always_inline
> > function
> 
> Grmbl, starting to think yasm is easier after all... Patch attached.

Iam starting to think that too in this case ...
either way patch ok

but see it positive we learnt about %a0 and that gcc 3 is not capable to
propagete constants through always_inline functions, later can be usefull
knowledge for pure C code optimizations or for interpreting why gcc 3 and 4
differ in speed of some code

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

I know you won't believe me, but the highest form of Human Excellence is
to question oneself and others. -- Socrates
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 198 bytes
Desc: Digital signature
URL: <http://lists.mplayerhq.hu/pipermail/ffmpeg-cvslog/attachments/20100929/5b8a0175/attachment.pgp>



More information about the ffmpeg-cvslog mailing list