Sean McGovern <[email protected]> writes: > 2011/12/13 Måns Rullgård <[email protected]>: >> Sean McGovern <[email protected]> writes: >> >>> On Tuesday, December 13, 2011, Måns Rullgård <[email protected]> wrote: >>>> Sean McGovern <[email protected]> writes: >>>> >>> [snip] >>> >>>> Try this patch: >>>> >>>> diff --git a/libavcodec/x86/mathops.h b/libavcodec/x86/mathops.h >>>> index 50b0283..e1e7ccb 100644 >>>> --- a/libavcodec/x86/mathops.h >>>> +++ b/libavcodec/x86/mathops.h >>>> @@ -95,7 +95,7 @@ __asm__ volatile(\ >>>> "cmovl %4, %1 \n\t"\ >>>> "cmovl %5, %2 \n\t"\ >>>> : "+&r" (x), "+&r" (a), "+r" (c)\ >>>> - : "r" (y), "r" (b), "r" (d)\ >>>> + : "r" (y), "r" ((int)b), "r" ((int)d)\ >>>> ); >>>> #endif >>> >>> This just moved the error up 2 lines. >> >> Please elaborate. > > it must've just changed something higher up in the assembly dump > (scrolling through the diff didn't immediately have anything catch my > eye) -- it's actually the same code though, still compiled to the > following: > > cmpl %eax,%ebx > cmovl %ebx,%eax > cmovl %ebp,%rcx <-- this was on line 46330 in my original asm dump, > it moved to 46328 after your patch > cmovl %esi,%rdx
Could you try adding (int) casts all the arguments? -- Måns Rullgård [email protected] _______________________________________________ libav-devel mailing list [email protected] https://lists.libav.org/mailman/listinfo/libav-devel
