[FFmpeg-devel] [Ffmpeg-devel] [PATCH] detect support for 10 operands in configure

Loren Merritt lorenm
Wed Feb 11 04:07:59 CET 2009


On Tue, 10 Feb 2009, Alexander Strange wrote:
> On Feb 10, 2009, at 11:59 AM, M?ns Rullg?rd wrote:
>> Loren Merritt <lorenm at u.washington.edu> writes:
>>> On Mon, 9 Feb 2009, M?ns Rullg?rd wrote:
>>>> Loren Merritt <lorenm at u.washington.edu> writes:
>>>>
>>>>> :"+&rm"(x), "+&rm"(x), "+&rm"(x), "+&rm"(x), "+&rm"(x), "+&rm"(x)
>>>>
>>>> Does & make a difference with +?
>>>
>>> Shouldn't matter as long as there are no input-only operands.
>>
>> And in the general case?

In the general case, a "+r" operand can be allocated to the same register
as a "r", if gcc can prove that they have the same input value.
"&" exists to forbid that.

> +& expands into a =& output and a normal input, so it doesn't matter.
> I'm surprised that asm works, though, having more than one output to
> the same place obviously makes no sense.

Makes perfect sense to me. I usually use "+" to mean "I want to initialize 
a register, and modify it in the asm, but I don't care what its output 
value is". Certainly more often than I use "+" as a real output.

--Loren Merritt



More information about the ffmpeg-devel mailing list