ARM commons shared between AArch32 and AArch64.
Namespaces
- arm - arm namespace provides common functionality for both AArch32 and AArch64 backends.
- a32 - a32 namespace provides support for AArch32 architecture. In addition it includes arm namespace, so you can only use a single namespace when targeting AArch32 architecture.
- a64 - a64 namespace provides support for AArch64 architecture. In addition it includes arm namespace, so you can only use a single namespace when targeting AArch64 architecture.
Emitters
- AArch32
- a32::Assembler - AArch32 assembler (must read, provides examples).
- a32::Builder - AArch32 builder.
- a32::Compiler - AArch32 compiler.
- a32::Emitter - AArch32 emitter (abstract).
- AArch64
Supported Instructions
- AArch32:
- Emitters:
- a32::EmitterExplicitT - Provides all instructions that use explicit operands, provides also utility functions. The member functions provided are part of all AArch32 emitters.
- Instruction representation:
- a32::Inst::Id - instruction identifiers.
- AArch64:
- Emitters:
- a64::EmitterExplicitT - Provides all instructions that use explicit operands, provides also utility functions. The member functions provided are part of all AArch64 emitters.
- Instruction representation:
Register Operands
- arm::Reg - Base class of all AArch32/AArch64 registers.
- a32::Gp - 32-bit general purpose register used by AArch32:
- a64::Gp - 32-bit or 64-bit general purpose register used by AArch64:
- arm::BaseVec - Base vector (SIMD) register.
- a32::Vec - Vector (SIMD) register (AArch32):
- a32::VecS - 32-bit SIMD register (AArch32).
- a32::VecD - 64-bit SIMD register (AArch32).
- a32::VecV - 128-bit SIMD register (AArch32).
- a64::Vec - Vector (SIMD) register (AArch64):
Memory Operands
- arm::Mem - AArch32/AArch64 memory operand that provides support for all ARM addressing features including base, index, pre/post increment, and ARM-specific shift addressing and index extending.
Other
- arm::Shift - Shift operation and value (both AArch32 and AArch64).
- arm::DataType - Data type that is part of an instruction in AArch32 mode.
- arm::Utils - Utilities that can help during code generation for AArch32 and AArch64.