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