Go: SIMD API Refinement and Tool Chain Fixes
Go's development team is making significant API changes to the experimental SIMD package ahead of the 1.27 release, with multiple method removals and renamings. Meanwhile, critical fixes address infinite loops in code analysis tools and generic method expansion issues.
Duration: PT2M19S
https://podlog.io/listen/go-e282e2e6/episode/go-simd-api-refinement-and-tool-chain-fixes-481ef28e
Transcript
Good morning. This is your Go developer briefing for June 5th, 2026.
The major story today is aggressive API cleanup in Go's experimental SIMD package as the 1.27 release approaches. David Chase has committed eight changes removing deprecated methods, renaming operations for clarity, and postponing features that need more work.
The most significant changes focus on making SIMD operations more intuitive. The team renamed "Deinterleave" and "Transpose" methods to "Concat" and "Interleave" respectively, arguing that good names need less explanation. They also removed ARM64-specific constant shift methods entirely, stating these need renaming and edge-case fixes before becoming public API. The "Store Part" method now returns the length stored, and several ARM64-specific methods like "Lookup Or Keep" have been removed with the rationale that adding features later is easier than removing them.
Two critical tool chain fixes address developer workflow problems. Pull request 79843 solves an infinite loop in the "go fix" command that occurred when applying partial fixes. Previously, if some suggested fixes succeeded but others failed due to conflicts, the tool would discard all progress and repeat the same partial fixes indefinitely. The fix ensures partial progress is retained when at least one fix succeeds.
The second fix, in pull request 79842, addresses variable name collisions in function inlining. When multiple function calls are inlined into the same block, the inliner could choose duplicate variable names, causing redeclaration errors. The solution always retains braces around inlined code containing binding declarations.
A separate fix improves error messages when using promoted fields with Go versions before 1.27, and there's a types system fix ensuring expanded generic methods don't incorrectly reuse declared function signatures.
What's next: The SIMD API changes suggest the experimental package is moving toward stabilization, but with significant breaking changes still happening. The tool chain fixes should eliminate frustrating infinite loops and compilation errors that were disrupting development workflows.
That's your Go briefing. Back to you.