The Wire · Showcase
ARM64 COMPILER STRIPS REDUNDANT EXTENSIONS, VULNDB ADDS 41 NEW REPORTS
By RepoJournal · Filed · About Go
Go's ARM64 compiler now eliminates dead zero-extension instructions, cutting instruction count on tight loops while the vulnerability database absorbs a major backlog of security advisories.
Egon Elbre landed a compiler optimization [1] that strips redundant byte and halfword zero-extensions on ARM64, hitting a common pattern in scanners and table lookups where narrow loads get extended multiple times. The fix targets a real performance gap: when a zero-extended narrow load has multiple consumers, late lowering was creating dead MOVDreg instructions that only got elided on single-use loads. Xiajun Ni fixed a compiler crash [2] where static initialization could send offsets larger than 1 GiB to the object writer, moving oversized values to dynamic initialization instead. Meanwhile, Dorbmon accelerated TrimSpace [3] by skipping the generic TrimFunc fallback for Unicode input and using dedicated helpers backed by a Unicode whitespace predicate. On the security front, vulndb absorbed a backlog of 41 new vulnerability reports [4], [5], [6], [7] across multiple Go packages, while also reviewing and updating existing entries [8]. VSCode-Go bumped gofumpt from v0.7.0 to v0.10.0 [9] with fallback logic for older Go versions. In the arch repo, Joel Sing fixed a goroutine deadlock in the disassembler test suite [10] and switched ARM64 objdump tests to llvm-objdump on OpenBSD [11] where GNU objdump is outdated.
One email a day. Unsubscribe in one click.
Keep up with Go in about 3 minutes a day: what actually shipped — the commits, pull requests, releases, and security advisories that matter.
One email a day. Unsubscribe in one click. Read a past issue →
Action items
- → Review vulndb updates if you maintain packages affected by GO-2026-* advisories golang/vulndb [plan]
- → Update gofumpt to v0.10.0 in VSCode-Go if you require Go 1.25+ golang/vscode-go [plan]
- → Test ARM64 compiler with heavy string operations to validate zero-extension stripping golang/go [monitor]
References
- [1] cmd/compile/internal/ssa: strip redundant byte/halfword zero-extensions on arm64 golang/go
- [2] cmd/compile: initialize large static offsets dynamically golang/go
- [3] strings, bytes: speed up TrimSpace for Unicode input golang/go
- [4] data/reports: add 2 reports golang/vulndb
- [5] data/reports: add 6 reports golang/vulndb
- [6] data/reports: add 28 reports golang/vulndb
- [7] data/reports: add 5 reports golang/vulndb
- [8] data/reports: review GO-2026-5617 golang/vulndb
- [9] src/goInstallTools: update default gofumpt version golang/vscode-go
- [10] all: avoid a goroutine deadlock on disassembler error golang/arch
- [11] arm64/arm64asm: use llvm-objdump for objdump tests on openbsd golang/arch