_set_SSE2_enable
CRT 数値演算ルーチンで、Streaming SIMD Extensions 2 Instructions (SSE2) 命令の使用を有効または無効にします。
int _set_SSE2_enable(
int flag
);
パラメーター
- flag
SSE2 の実装を有効にする場合は 1。 SSE2 の実装を無効にする場合は 0。 既定では、SSE2 の実装をサポートするプロセッサでは有効になっています。
戻り値
SSE2 の実装が有効になっている場合は 0 以外の値、無効になっている場合は 0 を返します。
解説
次の関数を使用して有効にすることができます SSE2 の実装がある_set_SSE2_enable:
上記の関数の SSE2 の実装は、既定の実装とは結果が多少異なる場合があります。これは、SSE2 の中間値は 64 ビットの浮動小数点値で、既定の実装の中間値は 80 ビットの浮動小数点値であるからです。
注意
使用して、プロジェクトをコンパイルする場合は、/Oi (組み込み関数の生成)コンパイラ オプションは、それが表示されます_set_SSE2_enable影響を与えません。 ので、/Oiコンパイラできますコンパイラ組み込み関数の CRT 呼び出しを交換する権限。 この動作をオーバーライド SSE2 組み込みオフにすること_set_SSE2_enable。 保証する場合は/Oiの動作をオーバーライドして_set_SSE2_enable、あなたのプロジェクトをコンパイル/Oi-。 その他のコンパイラ スイッチを示すことができますのでこの必要があります/Oi。
SSE2 の実装は、すべての例外がマスクされる場合に限り使用されます。 例外をマスクするには、_control87、controlfp を使用します。
必要条件
ルーチン |
必須ヘッダー |
---|---|
_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");
}
同等の .NET Framework 関数
該当なし標準 C 関数を呼び出すには、PInvoke を使用します。詳細については、「プラットフォーム呼び出しの例」を参照してください。