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

Reply via email to