This is the mail archive of the gcc-help@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: specifier on operand in asm inline


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



Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]