On 2012-12-14 17:12:05 -0800, Ronald S. Bultje wrote:
> Hi,
> 
> On Fri, Dec 14, 2012 at 8:56 AM, Janne Grunau <[email protected]> wrote:
> > On 2012-12-14 08:32:14 -0800, Ronald S. Bultje wrote:
> >> Hi,
> >>
> >> On Dec 14, 2012 3:30 AM, "Janne Grunau" <[email protected]> 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?

if you mean num_args with num_regs then you removed the code to clamp it
to 7 in 6f40e9f070f7 'x86inc: support stack mem allocation and
re-alignment in PROLOGUE'. Re-adding that breaks several fate-h264
tests.

Nasm also fails on '%1 %+ SUFFIX' with empty SUFFIX in cpuid.asm. It was
previously working since it was always followed by ', %2'. Easiest
solution I've found was adding parameters to cpu_cpuid_test in
cpuid.asm.

Janne
_______________________________________________
libav-devel mailing list
[email protected]
https://lists.libav.org/mailman/listinfo/libav-devel

Reply via email to