-
v0.31.0
StableRelease / build (amd64, linux) (push) Successful in 42sRelease / build (arm64, linux) (push) Successful in 40sRelease / build (loong64, linux) (push) Successful in 42sRelease / build (riscv64, linux) (push) Successful in 45sRelease / release (push) Successful in 18sreleased this
2026-08-20 14:24:44 +00:00 | 197 commits to main since this releaseThe arm64 encoder (Phase 5 — complete) ships with ELF64 and GOOBJ emission,
verified byte-for-byte againstGOARCH=arm64 go tool asmand linked into a
realgo build. The encoder covers the full integer instruction set, FP
arithmetic, conditional select, CRC32, and the MOV pseudo-instruction with
bitmask immediate encoding. The project now requires Go 1.27.Added
- arm64 encoder (Phase 5 — complete).
gasm asmcan now assemble_arm64.s
files: the AArch64 integer instruction set with the MOV pseudo-instruction and
its immediate-constant expansions (MOVZ/MOVN/MOVK for wide immediates, ORR with
logical bitmask encoding for values like$1), data-processing (shifted
register and immediate forms), load/store (scaled unsigned and unscaled9-bit
immediate), conditional and unconditional branches, FP/SP frame mapping,
SB/global symbol references (ADRP+ADD pairs withR_ADDRARM64relocations),
jump chain folding, and ELF64 emission (gasm asm --format elf). Ground-truth
verification againstGOARCH=arm64 go tool asmmatches byte-for-byte. Phase 5
(the other architectures — RISC-V, LoongArch, arm64) is now complete.
Changed
- Go 1.27 required. The project now requires Go 1.27 (
toolchain go1.27.0).
TheR_DWTXTADDR_U4relocation type is detected at runtime for backward
compatibility.
Downloads
- arm64 encoder (Phase 5 — complete).