_set_SSE2_enable
有効または無効 CRT の数値演算ルーチンの ストリーミング SIMD 拡張機能 2 (SSE2) 命令を使用します。この関数は SSE2 が既定で有効になるため、x64 アーキテクチャで使用できません)。
int _set_SSE2_enable(
int flag
);
パラメーター
- flag
SSE2 実装を有効にする 1; SSE2 実装を無効にする 0。 既定で SSE2 実装は、それをサポートするプロセッサで有効になっています。
戻り値
SSE2 実装が有効な場合 0 以外の; SSE2 実装が無効になればゼロ。
解説
次の関数に _set_SSE2_enableを使用して有効にできる SSE2 実装があります:
これらの関数の実装は、SSE2 SSE2 中間値が 64 ビット浮動小数点数である場合、既定の実装の中間値が 80 ビットの浮動小数点数値であるため、既定の実装は少し異なる回答を受けることがあります。
注意
プロジェクトをコンパイルする /Oi (組み込み関数を生成します。 のコンパイラ オプションを使用すると _set_SSE2_enable に効果がないように見えることがあります。/Oi のコンパイラ オプションは、コンパイラが CRT の呼び出しに代わる組み込みを使用するように権限を与えます; この動作は _set_SSE2_enableの影響をオーバーライドします。/Oi は _set_SSE2_enableをオーバーライドされないようにするには、プロジェクトをコンパイルするために /Oi- を使用します。これは、/Oiを意味する他のコンパイラ スイッチを使用するときに推奨される方法である場合があります。
SSE2 実装は、すべての例外が隠れている場合、場合にだけ使用されます。 例外をマスクに 詳細については" を使用します。
必要条件
ルーチン |
必須ヘッダー |
---|---|
_set_SSE2_enable |
<math.h> |
互換性の詳細については、「C ランタイム ライブラリ」の「互換性」を参照してください。
使用例
// crt_set_SSE2_enable.c
// processor: x86
#include <math.h>
#include <stdio.h>
int main()
{
int i = _set_SSE2_enable(1);
if (i)
printf("SSE2 enabled.\n");
else
printf("SSE2 not enabled; processor does not support SSE2.\n");
}
出力
SSE2 enabled.
同等の .NET Framework 関数
使用できません。標準 C 関数を呼び出すには、PInvoke を使用します。詳細については、「プラットフォーム呼び出しの例」を参照してください。