Re: specifier on operand in asm inline

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Ian Lance Taylor <iant@xxxxxxxxxx> wrote:
> mp <dofg@xxxxx> 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

[Index of Archives]     [Linux C Programming]     [Linux Kernel]     [eCos]     [Fedora Development]     [Fedora Announce]     [Autoconf]     [The DWARVES Debugging Tools]     [Yosemite Campsites]     [Yosemite News]     [Linux GCC]

  Powered by Linux