ARM Commons [¶]
ARM commons shared between AArch32 and AArch64.
Namespaces
- arm - arm namespace provides common functionality for both AArch32 and AArch64 backends. 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
- AArch64:
- a64::Assembler - AArch64 assembler (must read, provides examples).
- a64::Builder - AArch64 builder.
- a64::Compiler - AArch64 compiler.
- a64::Emitter - AArch64 emitter (abstract).
Supported Instructions
- 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:
- a64::Inst::Id - instruction identifiers.
- Emitters:
ARM Operands
- AArch64:
Memory Operands
Other
- arm::Shift - Shift operation and value (both AArch32 and AArch64).
- arm::Utils - Utilities that can help during code generation for AArch32 and AArch64.