On Wed, 2 Jul 2014, Tom de Vries wrote:

On 02-07-14 09:02, Marc Glisse wrote:
Still, the meaning of +&, in inline asm for instance, seems relatively clear, no?

I can't find any testsuite examples using this construct.

Furthermore, I'd expect the same semantics and restrictions for constraints in rtl templates and inline asm.

So I'm not sure what you mean.

Coming back to your original question:

An earlyclobber operand is defined as 'modified before the instruction is finished using the input operands'. AFAIU that would indeed exclude the possibility that the earlyclobber operand is an input/output operand it self, but perhaps I misunderstand.

So my question is: is the combination of '&' and '+' supported ? If so, what is the exact semantics ? If not, should we warn or give an error ?

An earlyclobber operand X prevents *other* input operands from using the same register, but that does not include X itself (if it is using +) or operands explicitly using a matching constraint for X. At least that's how I understand it.

--
Marc Glisse

Reply via email to