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
- ARM C Language Extensions
- ARM NEON Intrinsics Reference
- AArch32 ABI Addenda and Errata
- Cortex-A57 Software Optimization Guide
- Run-time ABI for the ARM Architecture This documents the __aeabi_* helper functions.
AMDGPU¶
Refer to User Guide for AMDGPU Backend for additional documentation.
ABI¶
- System V Application Binary Interface
- Itanium C++ ABI (This is used for all non-Windows targets.)
NVPTX¶
- CUDA Documentation includes the PTX ISA and Driver API documentation
Miscellaneous Resources¶
- Executable File Format library
- GCC prefetch project page has a good survey of the prefetching capabilities of a variety of modern processors.