Go: SIMD Support Lands in Master
The Go team has merged experimental SIMD (Single Instruction, Multiple Data) support into the master branch for Go 1.27, bringing vectorized operations for AMD64, ARM64, and WebAssembly architectures. Additional compiler improvements include safety enhancements for instruction lifting and removal of deprecated runtime settings.
Duration: PT2M11S
https://podlog.io/listen/go-e282e2e6/episode/go-simd-support-lands-in-master-cafa34ed
Transcript
Good morning, I'm your host with the Go development briefing for May 27th, 2026.
The major development today is Cherry Mui's reverse merge of the dev.simd branch into master, bringing experimental SIMD support to Go 1.27. This comprehensive merge includes vectorized intrinsics for AMD64, ARM64 NEON, and WebAssembly SIMD architectures. The implementation adds new SIMD types and operations while maintaining backwards compatibility through the GOEXPERIMENT=simd build flag, which remains disabled by default.
The SIMD work spans multiple areas of the toolchain. The compiler now supports vector register allocation across all three architectures, with ARM64 gaining extensive NEON intrinsics including arithmetic, bitwise, comparison, and shuffle operations. WebAssembly adds swizzle operations for table lookups, while AMD64 receives optimizations for AVX512 mask operations and high register support.
Several compiler safety improvements also landed. Keith Randall's changes make instruction lifting from loops opt-in rather than opt-out, addressing potential security issues where instructions could be moved before safety checks. This affects bounds checking, nil pointer verification, and CPU feature detection.
Robert Griesemer removed the asynctimerchan GODEBUG setting, completing the transition to the new timer implementation that's been default since Go 1.23. This cleanup eliminates legacy runtime code and associated metrics.
Additional changes include Sean Liao's optimization to slog's text handlers using encoding.TextAppender, and various dependency updates across the standard library.
What's next: Watch for SIMD documentation and examples as the feature approaches stability. The compiler team continues refining instruction safety analysis for better optimization opportunities.
That's your Go development update. I'll be back tomorrow with the latest changes.