web-dev-qa-db-ja.com

SSE組み込み関数リファレンス

SSE gccの組み込み関数、つまり<* mmintrin.h>ヘッダーファイル内の関数の操作をリストするリファレンスを知っていますか?

ありがとう。

52
NGaffney

すでに述べたすべてのオンラインPDFドキュメントに加えて、すべての命令と組み込み関数を要約し、テクノロジーごとにグループ化する非常に便利なユーティリティもあります。Linux、Windows、およびMac OS X IntelのAVXテクノロジーページには隠れていますが、SSEプログラミングに役立ちます。 http://software.intel.com/en-us/articles/intel-組み込みガイド を選択し、選択したプラットフォームのIntel組み込みガイドを選択します。

更新

組み込みガイドのオンラインバージョン が追加されたため、何もインストールする必要がなくなり、常に最新の状態になりました。

43
Paul R

GCCのSSEの異なるバージョンを呼び出すには、これらのヘッダーが必要であることがわかりました。

  • SSE2の場合:
extern "C"
{
#include <emmintrin.h>
#include <mmintrin.h>
}
  • SSE3の場合:
extern "C" 
{
#include <pmmintrin.h>
#include <immintrin.h>   // (Meta-header)
}
  • SSE4の場合:
extern "C" 
{
#include <smmintrin.h>
}

コンパイラの最新バージョンでは、すべてのヘッダーはVisual StudioとGCCに共通しているようです。

13

SSEPlusテーブル 組み込み関数は、ほとんどの場合非常に使いやすいです。

9
alecco

GCC組み込み関数は、Intelコンパイラ組み込み関数の実装です。これらは Intel®64およびIA-32アーキテクチャ開発者マニュアル:Vol。2C -付録Cに記載されています。

6
caf

これらはもともとIntelからのものです。インテルC++コンパイラーは、それらを manual で説明しています。 AMDは、おそらく3Dnowのマニュアルを含む独自のマニュアルを持っています! GCCのバージョンに同梱されている*mmintrin.hとそれらの可用性を比較する必要があります。

3
wilx