¿Qué mejoras llegan a la arquitectura AMD Zen 6 en GCC?
Además de que Intel ajustó sus objetivos para Nova Lake y Diamond Rapids en GCC esta semana para gestionar las realidades de APX, AMD también realizó ajustes en los parámetros de optimización para su objetivo Zen 6, conocido internamente como "znver6".
Estos ajustes recientemente habilitados para Zen 6 ahora fusionan la ALU (Unidad Aritmético Lógica) con una instrucción de salto condicional subsiguiente cuando la ALU contiene un operando de memoria. Asimismo, se optimiza la fusión cuando la ALU maneja valores inmediatos y desplazamientos. Finalmente, se prioriza el uso de la instrucción PSHUF para reducir los modos V16QI, V8HI, V4SI, V4FI y V2DI cuando las operaciones LSHR resultan más costosas en términos de ciclos de reloj.
La imagen superior detalla los commits técnicos donde se implementan estas mejoras de optimización para el compilador. Estas configuraciones ya estaban habilitadas en la GNU Compiler Collection para los procesadores AMD Zen 4 y Zen 5. Por lo tanto, resulta un poco sorprendente que estos ajustes no se hayan trasladado directamente al implementar el soporte inicial para Znver6. También es lamentable que esta actualización llegue después del lanzamiento estable de GCC 16.1, donde se introdujo el soporte básico para la arquitectura.
¿Cuándo estarán disponibles estas optimizaciones de forma estable?
De igual manera, la comunidad sigue esperando que las tablas de costos optimizadas y el modelo de planificador para Znver6 sean introducidos formalmente en los compiladores de código abierto, en lugar de reutilizar los datos de las generaciones Zen 4 y Zen 5.
En cualquier caso, este commit contiene los ajustes más recientes para Znver6, los cuales ya están presentes en la rama Git de GCC 17. Es de esperar que este parche también sea integrado mediante backport para la versión de mantenimiento GCC 15.2 en los próximos meses, permitiendo que los desarrolladores aprovechen el hardware de nueva generación con mayor eficiencia en sus pipelines de compilación.
Vía CNX Software.

