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

Reply via email to