======================================================== Architecture & Platform Information for Compiler Writers
.. contents:: :local:
.. note::
This document is a work-in-progress. Additions and clarifications are welcome.
Hardware
AArch64 & ARM
-
ARMv8-A Architecture Reference Manual This document covers both AArch64 and ARM instructions
-
ARMv7-A Architecture Reference Manual This has some useful info on what is supported by older architecture versions.
-
ARMv7-M Architecture Reference Manual This covers the Thumb2-only microcontrollers
-
ARMv6-M Architecture Reference Manual This covers the Thumb1-only microcontrollers
-
AArch32 ABI Addenda and Errata
-
Run-time ABI for the ARM Architecture This documents the _aeabi* helper functions.
Itanium (ia64)
Lanai
MIPS
PowerPC
IBM - Official manuals and docs ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Embedded PowerPC Processors manuals and docs ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
EREF: A Programmer's Reference Manual for Freescale Embedded Processors (EREFRM)
-
Signal Processing Engine (SPE) Programming Environments Manual: A Supplement to the EREF
-
Variable-Length Encoding (VLE) Programming Environments Manual: A Supplement to the EREF
Other documents, collections, notes ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
- PowerPC Compiler Writer's Guide
- Intro to PowerPC Architecture
- Various IBM specifications and white papers
- PowerPC ABI documents
- PowerPC64 alignment of long doubles (from GCC)
- Long branch stubs for powerpc64-linux (from binutils)
AMDGPU
Refer to :doc:AMDGPUUsage for additional documentation.
RISC-V
C-SKY
LoongArch
SPARC
SystemZ
VE
X86
- AMD processor manuals
- Intel 64 and IA-32 manuals
- Intel Itanium documentation
- X86 and X86-64 SysV psABI
- Calling conventions for different C++ compilers and operating systems
XCore
- The XMOS XS1 Architecture (ISA)
- The XMOS XS2 Architecture (ISA)
- Tools Development Guide (includes ABI)
Hexagon
Other relevant lists
ABI
- System V Application Binary Interface
- Itanium C++ ABI (This is used for all non-Windows targets.)
Linux
macOS
Windows
- Microsoft PE/COFF Specification
- ARM64 exception handling
- ARM exception handling
- Overview of ARM64 ABI conventions
- Overview of ARM32 ABI Conventions
NVPTX
- CUDA Documentation includes the PTX ISA and Driver API documentation
SPIR-V
Miscellaneous Resources
-
GCC prefetch project page has a good survey of the prefetching capabilities of a variety of modern processors.