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.