[Ffmpeg-devel] [PATCH] '/nop' illegal for old versions of GAS

John Dalgliesh johnd
Wed Aug 9 03:45:29 CEST 2006


Hi,

On Tue, 8 Aug 2006, Michael Niedermayer wrote:
>
> Hi
>
> On Wed, Aug 09, 2006 at 04:12:16AM +1000, John Dalgliesh wrote:
>>
>> On Mon, 7 Aug 2006, Michael Niedermayer wrote:
>>>
>>> Hi
>>>
>>> On Mon, Aug 07, 2006 at 10:33:31AM +1000, Nigel Pearson wrote:
>>>> 	I assumed you wanted to keep the ability
>>>> to pass in an opcode to do rounding?
>>>
>>> yes, of course, the code must still work ...
>>
>> OK I think that there is a misunderstanding here. The only value ever
>> passed into those IDCT macros is '/nop'. That is, the rounder argument is
>> never used for anything except generating an assembler comment.
>
> look again
>
>
> [blah blah]
>
>> Tested on linux x86 and compiles fine, does not cause any regressions to
>> fail. (Two regressions fail for esoteric formats with svn head for me; the
>> patch does not change this.)
>
> of course it works on linux ...

I thought that was the platform you were suggesting it wouldn't work on if 
the rounding ability were removed?

Of course it fixes the problem on Mac OS X under x86 too. I didn't check 
the regressions there since there are other files that must be fixed 
before all the mmx code will compile. But with the patch that file now 
compiles and assembles without error.

I am primarily a Mac OS X developer. Sorry for not making that clear. (In 
fact I installed a linux distro on my MBP last night just to test this 
patch.)

> [...]
>> If I am wrong about it being a misunderstanding - either there is some
>> weird use of the macros/arguments that I missed - or it is desirable to
>> retain the rounder argument for posterity, then I will happily produce a
>> patch meeting those criteria.
>
> [...]
>> @@ -458,11 +456,11 @@
>>  DC_COND_ROW_IDCT(  96(%0),104(%0),112(%0),120(%0), 96(%1),paddd (%2), 11)
>
> look, its not a nop
>
> [...]
>> @@ -705,7 +703,7 @@
>>  Z_COND_IDCT(  96(%0),104(%0),112(%0),120(%0), 96(%1),paddd (%2), 11, 1f)
>
> and another
>
> [...]
>> @@ -795,7 +791,7 @@
>>  Z_COND_IDCT(  96(%0),104(%0),112(%0),120(%0), 96(%1),paddd (%2), 11, 5f)
>
> and yet another

Those are totally different macros! They never have nop passed into them.

Please note that my patch removes all the '/nop's from the file, without 
touching those macros to do so. And that the code still compiles and 
produces identical output on linux. And that it fixes the problem under 
Mac OS X (i.e. gas version 1.38).

{P^/




More information about the ffmpeg-devel mailing list