Re: specifier on operand in asm inline

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

 



Mihail Platonov <dofg@xxxxx> 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.

The '%' means that the operands are commutative, which seems to me to
be extremely unlikely for a sub instruction.  Unless this is used in
some very strange way, that almost has to be a bug.

Ian

[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