EasyManua.ls Logo

Intel i960 - Page 248

Intel i960
347 pages
To Next Page IconTo Next Page
To Next Page IconTo Next Page
To Previous Page IconTo Previous Page
To Previous Page IconTo Previous Page
Loading...
Language Implementation
7-59
7
A
constraint
consists of one or more of the characters listed below.
The compiler generates code if necessary to make the
C
language
object
or
expression
match one of the
constraint
characters. The
associated operand is an integer literal or a machine register or an
assembly label that is put in place of a substitution directive.
In general, it is better to write the asm such that the compiler does not
need to generate extra code to make a
constraint
match. An operand
can contain an empty
constraint
string if it is not used in the
asm-template
.
The valid
constraint
characters are as follows:
= Specifies that the operand is assigned into. All
output-spec
constraints
must start with this
character.
& Unless an output operand uses the
&
constraint
, the compiler may allocate it in
the same register as an unrelated input operand,
on the assumption that the inputs are consumed
before the outputs are produced. If the
assembler code consists of more than one
instruction, this assumption may be false. In this
case, you should use the
&
constraint
for each
output operand that may not overlap an input.
d Allows any local or global word register.
r Allows any local or global word register.
l Allows any local register (r3-r15).
b Allows any global register (g0-g15).
t Allows any two-word register.
q Allows any quad-word register.

Table of Contents

Related product manuals