specifier on operand in asm inline
David Daney
ddaney@avtrex.com
Fri Oct 12 20:56:00 GMT 2007
Ian Lance Taylor wrote:
> mp <dofg@ya.ru> writes:
>
>> Ian Lance Taylor <iant@.com> wrote:
>>> Mihail Platonov <dofg@.ru> writes:
>>>
>>>> what is the semantics of "r" specifier in subx operand (%r2)?
>>>> and what is the meaning of connection between this specifier and "J"
>>>> constraint?
>>>> __asm__ __volatile__ (
>>>> ...
>>>> "subx %r2,%3,%%g1\n\t"
>>>> : "=&r" ((USItype)(r1)),
>>>> "=&r" ((USItype)(r0))
>>>> : "%rJ" ((USItype)(x3)),
>>>> "rI" ((USItype)(y3)),
>>>> ...
>>> The 'r' constraint means that that operand must be a general register.
>>> The 'J' constraint means that it must be the integer zero. Using both
>>> rJ and together means that the operand must be either a general
>>> register or the integer zero.
>> thanx for answer anyway, but it is the description of constraints.
>> i'm trying to find out info about ...
>> subx op1, op2, op3
>> ... about op1. why 'r' is there and so on.
>
> That is the question I tried to answer. So I don't know what you are
> asking. What type of answer are you looking for?
Not being mp, I could only guess that the question might be: What is
the purpose of constraints?
Some documentation on constraints can be found here:
http://gcc.gnu.org/onlinedocs/gccint/Constraints.html#Constraints
David Daney
More information about the Gcc-help
mailing list