Riferimento delle funzioni intrinseche SSE

Qualcuno sa di un riferimento che elenca il funzionamento delle funzioni intrinseche SSE per gcc, ovvero le funzioni nei file di intestazione ?

Grazie.

Oltre a tutta la documentazione PDF online già menzionata, c’è anche un’utilità molto utile che riassume tutte le istruzioni e le intrinseche e quindi i gruppi di tecnologie. Funziona su Linux, Windows e Mac OS X. È nascosto sulla pagina della tecnologia AVX di Intel, ma è ugualmente utile per la programmazione SSE. Vai a http://software.intel.com/en-us/articles/intel-intrinsics-guide e seleziona la Intel Intrinsics Guide per la tua piattaforma preferita.

AGGIORNARE

Ora c’è una versione online della guida di intrinsics , quindi non è più necessario installare nulla ed è sempre aggiornato.

Ho trovato che queste intestazioni erano necessarie per invocare le diverse versioni di SSE da GCC:

  • Per SSE2:
extern "C" { #include  #include  } 
  • Per SSE3:
 extern "C" { #include  #include  // (Meta-header) } 
  • Per SSE4:
 extern "C" { #include  } 

Nelle versioni moderne dei compilatori, tutte le intestazioni sembrano essere comuni a Visual Studio e GCC.

La tabella SSEPlus su intrinsics è molto facile da usare per la maggior parte dei casi.

Gli intrinseci del GCC sono implementazioni dell’intrinsecazione del compilatore Intel. Sono documentati in Intel® 64 e IA-32 Architectures Developer’s Manual: Vol. 2C – Appendice C.

Questi originariamente provengono da Intel. Il compilatore Intel C ++ descrive quelli nel suo manuale . Probabilmente AMD ha il suo manuale contenente quelli per 3Dnow! Dovrai confrontare la disponibilità di quelli con *mmintrin.h fornito con la tua versione di GCC.