Arch-Specific SIMD in Go
Comments
Ranked by a public rubric, not by votes: what a comment adds counts, not who wrote it. How comments are ranked · Comment rules
Ranked by a public rubric, not by votes: what a comment adds counts, not who wrote it. How comments are ranked · Comment rules
Summary
Go 1.27 extends its experimental simd/archsimd package, enabled with GOEXPERIMENT=simd, from amd64 to arm64 (NEON) and wasm. The API uses shared method names such as Add and distinct names where edge-case behavior differs across architectures. It also replaces As<Type> casts with zero-cost conversions. Feature checks like archsimd.X86.AVX512() guard against SIGILL and let the compiler fuse masked operations. Large structs or arrays of vectors still go to memory (#24416). SVE and further architectures are planned for later releases.