Architecture & Platform Information for Compiler Writers#
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#
Other documents, collections, notes#
AMDGPU#
Refer to User Guide for AMDGPU Backend for additional documentation.
RISC-V#
C-SKY#
LoongArch#
SPARC#
SystemZ#
VE#
X86#
XCore#
Hexagon#
Other relevant lists#
ABI#
Itanium C++ ABI (This is used for all non-Windows targets.)
Linux#
macOS#
Windows#
NVPTX#
CUDA Documentation includes the PTX ISA and Driver API documentation
SPIR-V#
Miscellaneous Resources#
Executable File Formats has a list of various executable file formats.
GCC prefetch project page has a good survey of the prefetching capabilities of a variety of modern processors.