specifier on operand in asm inline
dofg
dofg@ya.ru
Fri Oct 12 21:23:00 GMT 2007
Ian Lance Taylor <iant@google.com> 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?
you gave the description of the constraints
: "=&r" ((USItype)(r1)),
"=&r" ((USItype)(r0))
: "%rJ" ((USItype)(x3)),
"rI" ((USItype)(y3)),
i am pointing to
"subx %r2,%3,%%g1\n\t"
more definitely, to %r2. operand of subx. 'r' here is also a
constraint, telling compiler to use register?
>
> Ian
mp
More information about the Gcc-help
mailing list