Using and Porting GNU CC - Machine Desc

Node: Machine Desc Next: Target Macros Prev: RTL Up: Top

Machine Descriptions

A machine description has two parts: a file of instruction patterns (`.md' file) and a C header file of macro definitions.

The `.md' file for a target machine contains a pattern for each instruction that the target machine supports (or at least each instruction that is worth telling the compiler about). It may also contain comments. A semicolon causes the rest of the line to be a comment, unless the semicolon is inside a quoted string.

See the next chapter for information on the C header file.

Patterns How to write instruction patterns.
Example An explained example of a define_insn pattern.
RTL Template The RTL template defines what insns match a pattern.
Output Template The output template says how to make assembler code
from such an insn.
Output Statement For more generality, write C code to output
the assembler code.
Constraints When not all operands are general operands.
Standard Names Names mark patterns to use for code generation.
Pattern Ordering When the order of patterns makes a difference.
Dependent Patterns Having one pattern may make you need another.
Jump Patterns Special considerations for patterns for jump insns.
Insn Canonicalizations Canonicalization of Instructions
Peephole Definitions Defining machine-specific peephole optimizations.
Expander Definitions Generating a sequence of several RTL insns
for a standard operation.
Insn Splitting Splitting Instructions into Multiple Instructions
Insn Attributes Specifying the value of attributes for generated insns.


Next: Target Macros Up: Top