次の方法で共有


_set_SSE2_enable

CRT 数値演算ルーチンで ストリーミング SIMD 拡張命令 2 (SSE2) 命令の使用を有効または無効にします。 (SSE2 は既定で有効になっているため、この関数は x64 アーキテクチャでは使用できません)。

構文

int _set_SSE2_enable(
   int flag
);

パラメーター

flag
SSE2 実装を有効にする場合は 1、SSE2 実装を無効にする場合は 0。 既定では、SSE2 実装はこれをサポートするプロセッサでは有効です。

戻り値

SSE2 実装が有効な場合はゼロ以外、SSE2 実装が無効になっている場合はゼロを返します。

解説

次の関数には、_set_SSE2_enable を使用して有効にできる SSE2 実装があります。

これらの関数の SSE2 実装では、既定の実装とは少し異なる回答が得られます。 SSE2 中間値は 64 ビット浮動小数点の数量ですが、既定の実装中間値は 80 ビット浮動小数点数です。

Note

/Oi (組み込み関数の生成) コンパイラ オプションを使用してプロジェクトをコンパイルする場合、_set_SSE2_enable では何も生じないように見えることがあります。 /Oi コンパイラ オプションは、組み込みを使用して CRT 呼び出しを置き換える権限をコンパイラに与えます。この動作は、_set_SSE2_enableの効果をオーバーライドします。 /Oi_set_SSE2_enableをオーバーライドしないことを保証する場合は、/Oi-を使用してプロジェクトをコンパイルします。 /Oi を暗黙指定する他のコンパイラ スイッチを使用するときにも、そのようにすることをお勧めします。

SSE2 実装はすべての例外がマスクされる場合にのみ使用します。 例外をマスクするには、 _control87_controlfp を使用します。

要件

ルーチンによって返される値 必須ヘッダー
_set_SSE2_enable <math.h>

互換性の詳細については、「 Compatibility」を参照してください。

// 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.

関連項目

C ランタイム (CRT) と C++ 標準ライブラリ (STL) .lib ファイル