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. 
