[FFmpeg-devel] [PATCH] Workaround bugs in Apple's assembler

David Conrad lessen42
Thu Jan 21 10:46:36 CET 2010


On Jan 20, 2010, at 6:13 PM, Michael Niedermayer wrote:

> On Wed, Jan 20, 2010 at 05:38:29PM -0500, David Conrad wrote:
>> On Jan 20, 2010, at 6:23 AM, David Conrad wrote:
>> 
>>> Hi,
>>> 
>>> Apple's assembler discards the offset in an expression like 8+(%eax) (no, they haven't fixed it in the last 2 years...) gcc currently doesn't hit this bug with ffmpeg's asm, but clang does on x86-32.
>> 
>> I guess this is better since 8+() and 8+1*() are invalid for linux gas too. It should produce identical asm modulo compiler bugs.
>> 
> 
> ok if it does produce the same asm

Well to be more accurate, there's no difference for the code llvm and gcc generate on 64-bit. On 32-bit, gcc decides to swap the registers is used for stride and pix-3*stride.

Applied.



More information about the ffmpeg-devel mailing list