[FFmpeg-devel] [PATCH] Fix compilation with llvm-gcc on x86_64
Måns Rullgård
mans
Sun Nov 1 20:22:32 CET 2009
Loren Merritt <lorenm at u.washington.edu> writes:
> On Sun, 1 Nov 2009, Mans Rullgard wrote:
>
>> LLVM requires matching input and output asm parameters to have the
>> same type. For the FASTDIV macro, an (int) cast on the input fixes
>> this trivially.
>>
>> Apparently, LLVM also dislikes +g constraints with int operands on
>> x86_64, probably due to register being wider than int. Using a +r
>> constraint instead works with gcc 3.4.6, gcc 4.3.4, and llvm-gcc 2.6.
>
> But register isn't wider than int. "+g" associated with a 32bit
> variable means "either a 32bit register or a 32bit memory", and
> likewise for other sizes.
You're obviously right. So this is a compiler bug?
All else aside, since +r seems to work, is there any reason not to use
that instead?
--
M?ns Rullg?rd
mans at mansr.com
More information about the ffmpeg-devel
mailing list