This document dice:GCC órdenes internas atómicas - ¿Qué procesadores son compatibles
No todas las operaciones están respaldadas por todos los procesadores de destino.
¿Alguien sabe para qué procesador es compatible la operación?
This document dice:GCC órdenes internas atómicas - ¿Qué procesadores son compatibles
No todas las operaciones están respaldadas por todos los procesadores de destino.
¿Alguien sabe para qué procesador es compatible la operación?
No es una respuesta directa, pero el siguiente fragmento de la página vinculada da una pista (el subrayado es mío):
No todas las operaciones están soportadas por todos los procesadores de destino. Si no se puede implementar una operación particular en el procesador de destino, se generará una advertencia y una llamada se generará una función externa. La función externa tendrá el mismo nombre que la función incorporada, con un sufijo adicional `_n 'donde n es el tamaño del tipo de datos.
Básicamente esto dice que es seguro usar estas construcciones internas. Generarán ya sea secuencia de instrucción directa si es compatible, o una llamada a una función de emulación por el nombre de pila.
El compilador le advertirá si no se admite una compilación particular, por lo que es fácil experimentar.
Y dado que estos vienen originalmente de las especificaciones de Intel, es seguro asumir que están en x86 y x86_64.
Personalmente he usado la mayoría de estos en sistemas x86 y amd64; entonces puedo confirmar que funcionan en varias versiones diferentes de gcc (no puedo recordar cuáles) –
de acuerdo con los documentos, GCC 4.1.2 y versiones posteriores de la versión – Jyaan
¿O al menos es una lista en Internet que explica qué operaciones son compatibles con qué procesadores? – mmmmmmmm