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.
 
PowerPC¶
IBM - Official manuals and docs¶
- Power Instruction Set Architecture, Version 3.0B
 - POWER9 Processor User’s Manual
 - Power Instruction Set Architecture, Version 2.07B
 - POWER8 Processor User’s Manual
 - Power Instruction Set Architecture, Versions 2.03 through 2.06 (Internet Archive)
 - IBM AIX 7.2 POWER Assembly Reference
 - IBM AIX/5L for POWER Assembly Reference
 
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.)
 
Linux¶
- Linux extensions to gabi
 - 64-Bit ELF V2 ABI Specification: Power Architecture
 - OpenPOWER ELFv2 Errata: ELFv2 ABI Version 1.4
 - PowerPC 64-bit ELF ABI Supplement
 - Procedure Call Standard for the AArch64 Architecture
 - Procedure Call Standard for the ARM Architecture
 - ELF for the ARM Architecture
 - ELF for the ARM 64-bit Architecture (AArch64)
 - System z ELF ABI Supplement
 
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.
 
