On 9/5/2016 11:40 AM, James Almer wrote:
> On 9/5/2016 10:15 AM, Henrik Gramner wrote:
>> On Mon, Sep 5, 2016 at 1:02 PM, Anton Khirnov <an...@khirnov.net> wrote:
>>>> +cglobal vector_clipf, 3, 3, 6, dst, src, len, min, max
>>>> +%if ARCH_X86_32
>>>> +    VBROADCASTSS m0, minm
>>>> +    VBROADCASTSS m1, maxm
>>>> +%else
>>>> +    VBROADCASTSS m0, m0
>>>> +    VBROADCASTSS m1, m1
>>>> +%endif
>> This will fail on WIN64, to deal with the somewhat silly calling
>> conventions on that platform you need to do something like
>>     VBROADCASTSS m0, m3
>>     VBROADCASTSS m1, maxm
>> (not tested, I don't have access to a Windows machine at the moment).
> 
> %if WIN64
>     SWAP 0, 2
>     SWAP 1, 3
> %endif

Nevermind, misread the prototype.

You can use "SWAP 0, 3" for min, but for max you probably need to fetch
it from stack as you suggested.

> 
> Before the x86_64 vbroadcastss should be enough.
> 

_______________________________________________
libav-devel mailing list
libav-devel@libav.org
https://lists.libav.org/mailman/listinfo/libav-devel

Reply via email to