What's Today

The Go Blog · Junyang Shao and David Chase 2 October 2026 ·

Arch-specific SIMD in Go - The Go Programming Language

Go 1.27 amplía el soporte experimental para SIMD arquitectura-específico, agregando arm64 y WebAssembly al amd64 ya soportado en Go 1.26. El paquete simd/archsimd ofrece un API de bajo nivel con tipos diferenciados para cada forma de vector (Float32x4, Int32x8, etc.) y operaciones nombradas de forma consistente según su semántica, en lugar de usar nombres de intrínsecos nativos. El API incluye conversiones de tipo sin costo (ToBits, ReshapeToUint), tipos opacos Mask para abstraer diferencias de arquitectura, y funciones de carga/almacenamiento para slices y arrays. Se accede activando GOEXPERIMENT=simd al compilar; ejemplos incluyen transformadas de Galois en amd64 mediante GFNI y transposición de matrices usando operaciones AVX2 específicas. El trabajo futuro incluye soporte completo para arm64 SVE, expansión a RISC-V, PowerPC y otras arquitecturas, mejoras en optimización de registro para tipos compuestos, y agregación de instrucciones basada en retroalimentación de usuarios.

Go 1.27 introduces experimental arch-specific SIMD vector APIs

Leer la nota completa en go.dev →