GARM
lastmod 2024-12-11created 2024-12-112 edits
A high-performance Go compiler specialized for ARM64
About
- An ARM64 assembly compiler that combines the simplicity of the Go language with low-level control and high performance.
- Provides ARM-architecture-specific optimizations, hardware-level tuning, security controls, debugging tools, and more.
- There are many Go compilers and ARM assemblers, but few tools take advantage of ARM's unique features.
- The flexible second operand of ARM arithmetic instructions
- Conditional execution
- NEON SIMD operations for vectorization
- Hardware divide and multiply-accumulate instructions
- With the growing dominance of the ARM architecture (Apple M series, AWS Graviton, mobile devices, embedded systems), optimization tools specialized for ARM64 are becoming more important.
Features
- Compiles with a generational GC by default.
- Provides options to choose a GC algorithm or to use no GC.
- Supports high-performance computing on ARM servers (goal: 5x Go performance on ARM64).
- Suited to performance-critical cross-platform mobile/embedded systems.
- Suited to cloud applications running on ARM instances.
- (AST) -> (SSA) -> (IR) -> (Optimizer) -> (Assembly)
See also
- arm64
- go