[FFmpeg-devel] [FFmpeg-devel-irc] IRC log for 2010-09-08

Ronald S. Bultje rsbultje
Fri Sep 10 00:02:00 CEST 2010


Hi,

On Thu, Sep 9, 2010 at 5:52 PM, Reimar D?ffinger
<Reimar.Doeffinger at gmx.de> wrote:
> On Thu, Sep 09, 2010 at 05:22:10PM -0400, Ronald S. Bultje wrote:
>> Our inline asm has huge issues on Win64, many which
>> cannot be easily fixed.
>
> That I just don't see.

As you know (you were the first to provide a patch for this), xmm6 and
xmm7 on Win64 are callee-save.

This means that any such construct...

void function()
{
 asm("movd $0, xmm7\r\n", mem);
 //something else
 asm("movd xmm7, $0\r\n", mem);
}

...cannot possibly be made to work. Putting xmm7 in the clobberlist
doesn't preserve its value between asm() blocks, and not doing so
screws up the caller's original xmm7 value. The solution in this
particular mega-easy example is to merge the two asm blocks, but
generally it's not that easy and the code needs a to be partially
rewritten.

Ronald



More information about the ffmpeg-devel mailing list