Using and Porting the GNU Compiler Collection (GCC)
Some machines are so clean that operand constraints are not required. For
example, on the Vax, an operand valid in one context is valid in any other
context. On such a machine, every operand constraint would be `g',
excepting only operands of ``load address'' instructions which are
written as if they referred to a memory location's contents but actual
refer to its address. They would have constraint `p'.
For such machines, instead of writing `g' and `p' for all
the constraints, you can choose to write a description with empty constraints.
Then you write `""' for the constraint in every match_operand.
Address operands are identified by writing an address expression
around the match_operand, not by their constraints.
When the machine description has just empty constraints, certain parts of compilation are skipped, making the compiler faster. However, few machines actually do not need constraints; all machine descriptions now in existence use constraints.
Using and Porting the GNU Compiler Collection (GCC)
Packaging copyright © 1988-2000 OAR Corporation Context copyright by each document's author. See Free Software Foundation for information.