Hi, On Sun, Dec 16, 2012 at 5:52 AM, Janne Grunau <[email protected]> wrote: > 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.
Does it work if you add a comma behind it (but no arguments)? Or does cglobal_internal then think %0 == 2? Ronald _______________________________________________ libav-devel mailing list [email protected] https://lists.libav.org/mailman/listinfo/libav-devel
