[FFmpeg-devel] Hacks on FATE
David Conrad
lessen42
Mon Jun 22 08:44:49 CEST 2009
On Jun 18, 2009, at 6:34 AM, M?ns Rullg?rd wrote:
> Michael Kostylev <michael.kostylev at gmail.com> writes:
>
>> fix building with i386-*-gcc-3.3 -fPIC
>>
>> --- ffmpeg.orig/libavcodec/x86/cavsdsp_mmx.c
>> +++ ffmpeg/libavcodec/x86/cavsdsp_mmx.c
>> @@ -280,7 +280,7 @@
>> VOP(%%mm1, %%mm2, %%mm3, %%mm4, %%mm5, %%mm0, OP)\
>> \
>> : "+a"(src), "+c"(dst)\
>> - : "S"((x86_reg)srcStride), "r"((x86_reg)dstStride),
>> "m"(ADD), "m"(MUL1), "m"(MUL2)\
>> + : "S"((x86_reg)srcStride), "rm"((x86_reg)dstStride),
>> "m"(ADD), "m"(MUL1), "m"(MUL2)\
>> : "memory"\
>> );\
>> if(h==16){\
>> @@ -295,7 +295,7 @@
>> VOP(%%mm3, %%mm4, %%mm5, %%mm0, %%mm1, %%mm2, OP)\
>> \
>> : "+a"(src), "+c"(dst)\
>> - : "S"((x86_reg)srcStride), "r"((x86_reg)dstStride),
>> "m"(ADD), "m"(MUL1), "m"(MUL2)\
>> + : "S"((x86_reg)srcStride), "rm"((x86_reg)dstStride),
>> "m"(ADD), "m"(MUL1), "m"(MUL2)\
>> : "memory"\
>> );\
>> }\
>
> An 'm' constraint requires an lvalue operand (or ought to do (llvm
> does)), which a cast expression is not.
This happens to be the same exact same constraint that tripped up gcc
on OS X as well; if you instead change "a","c", and "S" (or some
subset) to "r", does it work? It shouldn't need an "m" constraint at
all.
More information about the ffmpeg-devel
mailing list