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.

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

Reply via email to