アセンブラ… (・∀・)イイ!
■ このスレッドは過去ログ倉庫に格納されています
0197デフォルトの名無しさん
NGNGホラヨ。今は組み込み関数でも書けるんだよ。
__m64 m1;
m1 = _mm_xor_si64(m1, m1);
ちなみに、IntelC/C++Compilerもしくは、
VisualC/C++ + VisualC/C++ ProcessorPackでコンパイル可能。
GCCとかも最近は似たようなのを搭載しつつある。
肝心の性能だが、MMXでは、
適当にインラインアセンブラで書いたコードよりは速いのを吐いてくれる。
アセンブラできちんとパイプライニングしたものよりは多少遅い。
SSEに関しては、はっきり言ってとりあえずインラインアセンブラで書いてみました
程度の投げやりなコードでもアセンブラの方が断然速い。
まだコンパイラが成熟してないのか。
ただし、組み込み関数といえど、ほとんどアセンブリとニーモニックなので、
速度を追求してかいていくと
__m64 mm0,mm1,mm2,mm3,mm4,mm5,mm6,mm7;
とかレジスタ分の変数用意して、それだけしか使わず、
パイプラインも考慮して書いたりとかするようになるから、
結局アセンブラで書いた方が楽だったりする。
■ このスレッドは過去ログ倉庫に格納されています