¿Dónde puedo encontrar una referencia oficial que enumere el funcionamiento de las funciones intrínsecas de la ESS?

Resuelto NGaffney asked hace 13 años • 5 respuestas

¿Existe una referencia oficial que enumere el funcionamiento de las funciones intrínsecas de SSE para GCC, es decir, las funciones en los archivos de encabezado <*mmintrin.h>?

NGaffney avatar Aug 23 '11 13:08 NGaffney
Aceptado

Además del manual en PDF vol.2 de Intel, también hay una guía intrínseca en línea .

La Guía Intel® Intrinsics contiene información de referencia para Intel intrinsics, que brindan acceso a instrucciones de Intel como Intel® Streaming SIMD Extensions (Intel® SSE), Intel® Advanced Vector Extensions (Intel® AVX) e Intel® Advanced Vector Extensions 2 ( Intel® AVX2).

Tiene una búsqueda de texto completo, por lo que se puede encontrar un intrínseco por su nombre, o por instrucción de la CPU, característica de la CPU, etc. También tiene un control sobre qué extensión ISA mostrar. Esto permite, por ejemplo, no buscar KNC que probablemente no podrías usar, o MMX que es mucho menos útil hoy en día.

Véase también la etiqueta wiki parasseetiqueta para enlaces a guías y un par de tutoriales, así como esta documentación oficial.

Paul R avatar Aug 25 '2011 08:08 Paul R

Descubrí que estos encabezados eran necesarios para invocar las diferentes versiones de SSE desde GCC:

Para SSE2

extern "C"
{
    #include <emmintrin.h>
    #include <mmintrin.h>
}

Para SSE2

extern "C"
{
    #include <pmmintrin.h>
    #include <immintrin.h>   // (Meta-header)
}

Para SSE4:

extern "C"
{
    #include <smmintrin.h>
}

En las versiones modernas de los compiladores, todos los encabezados parecen ser comunes a Visual Studio y GCC.

Jose Luis Blanco avatar Feb 02 '2012 18:02 Jose Luis Blanco