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