Using and Porting GNU CC - Constraints

Node: Constraints Next: Standard Names Prev: Output Statement Up: Machine Desc

Operand Constraints

Each match_operand in an instruction pattern can specify a constraint for the type of operands allowed. Constraints can say whether an operand may be in a register, and which kinds of register; whether the operand can be a memory reference, and which kinds of address; whether the operand may be an immediate constant, and which possible values it may have. Constraints can also require two operands to match.

Simple Constraints Basic use of constraints.
Multi-Alternative When an insn has two alternative constraint-patterns.
Class Preferences Constraints guide which hard register to put things in.
Modifiers More precise control over effects of constraints.
Machine Constraints Existing constraints for some particular machines.
No Constraints Describing a clean machine without constraints.


Next: Standard Names Up: Machine Desc