GCC 17 suma -m128bit-atomic para operaciones de 128-bit
Se ha integrado hoy al código fuente de la GNU Compiler Collection (GCC) la nueva opción -m128bit-atomic, la cual formará parte de la versión principal de GCC 17 que se lanzará el próximo año. Esta actualización representa un cambio importante en la gestión de memoria para arquitecturas de 64 bits.
La opción -m128bit-atomic permite que GCC genere instrucciones específicas para operaciones de memoria atómicas de 128 bits en procesadores compatibles de Intel, AMD, Zhaoxin e Hygon. Esta opción integrada en el compilador permite evitar la sobrecarga (overhead) de rendimiento que implicaba utilizar la biblioteca externa libatomic.
Además de la inclusión de la flag, el nuevo código de GCC ahora habilita esta opción por defecto si el procesador objetivo la soporta, utilizando -march=native o parámetros equivalentes. La adición de esta funcionalidad surgió tras la confirmación oficial de los fabricantes de CPU x86_64 sobre el soporte de carga (load) y almacenamiento (store) atómico de 128 bits.
x86-64: Añadir -m128bit-atomic. Con las garantías de los fabricantes de silicio como Intel, AMD, Hygon y Zhaoxin en: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=104688, muchos desarrolladores de software podrán utilizar cargas y almacenamientos atómicos de 128 bits en sus programas al apuntar a CPUs compatibles. Añadir -m128bit-atomic para generar estas operaciones evita el costo de llamar a libatomic. Se habilita por defecto en modo 64-bit si el procesador lo soporta, incluyendo procesadores x86-64-v3 y aquellos con soporte AVX de Intel, AMD, Hygon y Zhaoxin.
El soporte fue incorporado mediante este commit. Los usuarios podrán probar esta funcionalidad en la versión estable GCC 17.1, cuyo lanzamiento está programado para la próxima primavera del hemisferio norte.
Vía CNX Software.