[FFmpeg-devel] pre discussion around Blackfin dct_quantize_bfin routine

Marc Hoffman mmhoffm
Tue Jun 12 22:44:30 CEST 2007


On 6/12/07, Reimar Doeffinger <Reimar.Doeffinger at stud.uni-karlsruhe.de> wrote:
> Hello,
> On Tue, Jun 12, 2007 at 12:22:02PM -0700, Trent Piepho wrote:
> [...]
> >   uint64_t lo, hi;
>
> must use uint32_t, otherwise D and W constraints fail
>
> >   asm volatile ("%0=cycles; %1=cycles2;" : "=D"(lo), "=W"(hi));
>
> This result in the usual, and at least to me very well known stupidity
> of gcc (also known as "how to do nothing in many steps"):
> it really believes that adding, oring and multiplying by 0 is
> worth it. That is probably because in the highlevel optimizations they
> do these are not present, they only crop up after they have done all
> optimizations... An impressive point why machine independant
> optimization is stupid.
>
>  5c0:   00 e8 00 00     LINK 0x0;
>  5c4:   86 31           R0=CYCLES;
>  5c6:   9f 31           R3=CYCLES2;
>  5c8:   01 60           R1=0x0(x);
>  5ca:   02 60           R2=0x0(x);
>  5cc:   10 56           R0=R0|R2;
>  5ce:   59 56           R1=R1|R3;
>  5d0:   01 e8 00 00     UNLINK;
>  5d4:   10 00           RTS;
>
> Greetings,
> Reimar Doeffinger

Kidding aside I think the compiler is just a little confused here
thats all. Someone would probably need to fix this someplace other
than inside of ffmpeg.

Marc




More information about the ffmpeg-devel mailing list