8.1 RTL Object Types | | Expressions vs vectors vs strings vs integers. |

8.2 RTL Classes and Formats | | Categories of RTL expression objects, and their structure. |

8.3 Access to Operands | | Macros to access expression operands or vector elts. |

8.4 Flags in an RTL Expression | | Other flags in an RTL expression. |

8.5 Machine Modes | | Describing the size and format of a datum. |

8.6 Constant Expression Types | | Expressions with constant values. |

8.7 Registers and Memory | | Expressions representing register contents or memory. |

8.8 RTL Expressions for Arithmetic | | Expressions representing arithmetic on other expressions. |

8.9 Comparison Operations | | Expressions representing comparison of expressions. |

8.10 Bit-Fields | | Expressions representing bit-fields in memory or reg. |

8.11 Vector Operations | | Expressions involving vector datatypes. |

8.12 Conversions | | Extending, truncating, floating or fixing. |

8.13 Declarations | | Declaring volatility, constancy, etc. |

8.14 Side Effect Expressions | | Expressions for storing in registers, etc. |

8.15 Embedded Side-Effects on Addresses | | Embedded side-effects for autoincrement addressing. |

8.16 Assembler Instructions as Expressions | | Representing `asm` with operands. |

8.17 Insns | | Expression types for entire insns. |

8.18 RTL Representation of Function-Call Insns | | RTL representation of function call insns. |

8.19 Structure Sharing Assumptions | | Some expressions are unique; others *must* be copied. |

8.20 Reading RTL | | Reading textual RTL from a file. |