[FFmpeg-devel] r9017 breaks WMA decoding on Intel Macs
Thu May 31 16:44:33 CEST 2007
Zuxy Meng wrote:
> 2007/5/31, Guillaume POIRIER <poirierg at gmail.com>:
>> On 5/31/07, Trent Piepho <xyzzy at speakeasy.org> wrote:
>>> On Thu, 31 May 2007, Guillaume POIRIER wrote:
>>>> On 5/30/07, Michael Niedermayer <michaelni at gmx.at> wrote:
>>>>> On Wed, May 30, 2007 at 02:07:19PM +0200, Guillaume POIRIER wrote:
>>>>>> Ok, fine with me. Michael, do you think that the patch I posted
>>>>>> earlier (100% based on Trent's, only fixing minor issues) should be
>>>>> well, after actually reading the code ... the loops should be written
>>>>> in asm not by using for() / while() this will make the code faster
>>>>> and it will make the n+%m code naturally dissapear
>>>> Well, after getting a hint from Apple guys, here's an updated patch
>>>> that gets rid of all assembler warnings without touching the code as
>>>> much as Trent had done.
>>>> Now, maybe writing the loop in ASM ourselves will help, but at least,
>>>> this patch doesn't harm and works on all supported platforms!
>>> This won't assemble correctly if any of the memory operands already have a
>>> displacement. Loren explained why:
>> I agree. This patch's main purpose is to show how to write this
>> routine with proper syntax (Bear in mind that all assemblers produce a
>> warning here. To a certain extend, we may consider that the reason it
>> works with FSF AS is just by pure luck.)
>> When I have the time, I shall benchmark both yours and my patch to see
>> what are the speed figures.... But IMHO, it's a bit pointless, because
>> whatever the speed figures may look like, we are comparing 1 solution
>> that appears to work by luck, and another that is more reliable. Speed
>> isn't what your patch is after.
> Hmm I really miss Intel syntax here, which I guess would be something
> like "MOVLPS XMM6, [EAX+2*EBX+imm]" so using "+16" at the end doesn't
> hurt in any case.
So do I. I really hate AT&T's syntax.
> But gcc simply doesn't parse".intel_syntax" in
> inline asm.
This problem is supposed to be fixed since latest versions of GCC 3.3
are out. You should retry.
Also, is there any other way to use Intel syntax with inline asm other
than by adding ".intel_syntax" in the inline asm block?
More information about the ffmpeg-devel