Go 1.26 and 1.27 have introduced experimental APIs for Single Instruction Multiple Data (SIMD) operations. SIMD is a CPU feature that enables software to perform uniform operations on data vectors quickly, which can accelerate computationally intensive tasks like cryptography, data processing, and AI. Previously, SIMD functionality in Go was only accessible through Go assembly, limiting its use to highly performance-critical code.
Go 1.26 initially provided a SIMD API for amd64, and Go 1.27 expanded this to include APIs for arm64 (specifically NEON) and wasm. These architecture-dependent APIs are located in the `archsimd` package, reflecting the significant variations in SIMD operations and vector representations across different platforms.
Go 1.27 further introduces an experimental, fully portable, and size-agnostic SIMD interface within the `simd` package, loosely based on C++'s Highway. This interface aims to enable developers to write SIMD code once and achieve near-assembly performance on platforms with SIMD support, while also providing competent emulation on platforms that lack native SIMD. The `simd` package currently supports AVX, AVX2, and AVX512 on amd64, NEON on arm64, and wasm's SIMD instructions.
SIMD architectures vary in vector sizes and supported operations. Some platforms, like wasm and PowerPC, have fixed 128-bit vector sizes, while others, such as amd64, offer multiple fixed sizes (128, 256, 512 bits). Riscv64 and Arm64 (SVE) support variable vector sizes. The new platform-agnostic interface addresses these variations by abstracting away the underlying architectural differences.
✨ This summary was generated by AI from the outlets' reporting listed below. It is not independently verified and may contain errors — check the original sources. How BrevFeed works →
One email each morning: the day's tech stories, clustered across outlets and summarized. No account needed.
One email a day. Unsubscribe in one click, any time.
Spend a few minutes, get the whole day. Every topic's top stories in one hands-free rundown — listen, watch, or read the transcript.
▶ Play today's briefNew every morning, and the back catalogue is archived by date.
Go 1.26 and 1.27 include experimental APIs for Single Instruction Multiple Data (SIMD) operations, with Go 1.27 adding a platform-agnostic SIMD interface. This new interface allows developers to write high-performance SIMD code that is portable across different architectures, addressing the previous limitation of requiring Go assembly for SIMD access.