[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

16. 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.

16.1 Everything about Instruction Patterns  How to write instruction patterns.
16.2 Example of define_insn  An explained example of a define_insn pattern.
16.3 RTL Template  The RTL template defines what insns match a pattern.
16.4 Output Templates and Operand Substitution  The output template says how to make assembler code from such an insn.
16.5 C Statements for Assembler Output  For more generality, write C code to output the assembler code.
16.6 Operand Constraints  When not all operands are general operands.
16.7 Standard Pattern Names For Generation  Names mark patterns to use for code generation.
16.8 When the Order of Patterns Matters  When the order of patterns makes a difference.
16.9 Interdependence of Patterns  Having one pattern may make you need another.
16.10 Defining Jump Instruction Patterns  Special considerations for patterns for jump insns.
16.11 Canonicalization of Instructions  
16.12 Machine-Specific Peephole Optimizers  Defining machine-specific peephole optimizations.
16.13 Defining RTL Sequences for Code Generation  Generating a sequence of several RTL insns for a standard operation.
16.14 Defining How to Split Instructions  Splitting Instructions into Multiple Instructions
16.15 Instruction Attributes  Specifying the value of attributes for generated insns.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

This document was generated by system on December, 2 2004 using texi2html