Hi,

On Fri, Dec 14, 2012 at 8:56 AM, Janne Grunau <janne-li...@jannau.net> wrote:
> On 2012-12-14 08:32:14 -0800, Ronald S. Bultje wrote:
>> Hi,
>>
>> On Dec 14, 2012 3:30 AM, "Janne Grunau" <janne-li...@jannau.net> wrote:
>> >
>> > Arguments on the stack are handled properly and functions can use more
>> > than arguments than the 7 registers available on x86_32.
>> > Fixes nasm build, yasm would fail too if it would error out on %error
>> > instead of just emitting a warning.
>> > ---
>> >  libavutil/x86/x86inc.asm | 1 -
>> >  1 file changed, 1 deletion(-)
>> >
>> > diff --git a/libavutil/x86/x86inc.asm b/libavutil/x86/x86inc.asm
>> > index 60d05f4..40705e0 100644
>> > --- a/libavutil/x86/x86inc.asm
>> > +++ b/libavutil/x86/x86inc.asm
>> > @@ -554,7 +554,6 @@ DECLARE_ARG 7, 8, 9, 10, 11, 12, 13, 14
>> >      %endif
>> >      SETUP_STACK_POINTER %4
>> >      ASSERT regs_used <= 7
>> > -    ASSERT regs_used >= num_args
>> >      PUSH_IF_USED 3, 4, 5, 6
>> >      ALLOC_STACK %4
>> >      LOAD_IF_USED 0, 1, 2, 3, 4, 5, 6
>>
>> Please submit to x264 first.
>>
>> Where does this trigger? This shouldn't happen, an assert is the right
>> thing to do.
>
> It is? make fate passes on x86_32 instances and yasm is affected too
> except that it emits just a warning on %error.
>
> It triggers on h264_loop_filter_strength_mmxext in h264_deblock.asm
> with 9 arguments.

But we have code above that clips both num_regs and regs_used to 7, so
both should be 7?

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

Reply via email to