La semana pasada se liberó la GCC 16.1, primera versión estable de la rama GCC 16. Esa release introduce el soporte inicial para AMD Zen 6 "znver6" bastante antes del debut comercial de los procesadores. Aun así, el target todavía no está pulido: hoy se integraron al GCC Git dos optimizaciones AVX-512 que faltaban en esa ruta.
¿Qué optimizaciones se sumaron?
El commit en cuestión activó avx512_two_epilogues y avx512_masked_epilogues para el path de AMD Zen 6. La primera es una tuning flag presente desde GCC 15 que mejora el rendimiento AVX-512 en Zen 4 y Zen 5: el vectorizador del compilador produce dos bucles de epílogo distintos para código vectorizado AVX-512, lo que permite manejar de forma más eficiente los elementos sobrantes que no llenaron un vector de 512 bits. La segunda hace lo análogo usando dos epílogos vectoriales enmascarados cuando el caso lo permite.
Ambas flags estaban habilitadas en los paths znver4 y znver5 del compilador, pero la inclusión para znver6 quedó fuera del corte de GCC 16.1.
¿Cuándo llegará a una release estable?
Por timing, el commit no alcanzó a entrar en GCC 16.1 y apuntará a GCC 16.2, programada para entrar en agosto de 2026 si se mantiene la cadencia habitual del proyecto. Esto deja en una posición incómoda a las distribuciones Linux del segundo semestre de 2026 que lleven GCC 16.1 en lugar de 16.2: compilarán binarios para Zen 6 sin estas optimizaciones disponibles.
Tabla de costos: aún sin pulir
Otro detalle relevante: en el estado actual del Git de GCC, el target Znver6 sigue reutilizando la tabla de costos de instrucciones de Znver5, en lugar de una tabla calibrada para la microarquitectura Zen 6. Es un patrón típico en el habilitamiento de targets en GCC: las tablas de costos afinadas suelen llegar después del lanzamiento del CPU. Queda por ver si los desarrolladores logran aterrizar una tabla de costos Zen 6 propia a tiempo para la liberación de GCC 16.2 a fin de verano boreal.
Aun con ese pendiente, el avance es notable respecto a la era pre-Zen: hoy hay habilitamiento básico para una arquitectura AMD que todavía no está en silicio comercial, en contraste con tiempos en que los parches al compilador open-source recién aparecían tras el lanzamiento. Zen 6 traerá además AVX-512 BMM y otras adiciones de ISA que ya empezaron a integrarse en Binutils.

