_set_SSE2_enable
CRT 数値演算ルーチンで ストリーミング SIMD 拡張命令 2 (SSE2) 命令の使用を有効または無効にします。 (S Standard Edition 2 は既定で有効になっているため、x64 アーキテクチャではこの関数を使用できません)。
構文
int _set_SSE2_enable(
int flag
);
パラメーター
flag
SSE2 実装を有効にする場合は 1、SSE2 実装を無効にする場合は 0。 既定では、SSE2 実装はこれをサポートするプロセッサでは有効です。
戻り値
SSE2 実装が有効な場合はゼロ以外、SSE2 実装が無効になっている場合はゼロを返します。
解説
次の関数には、_set_SSE2_enable
を使用して有効にできる SSE2 実装があります。
これらの関数の S Standard Edition 2 実装では、既定の実装とは少し異なる回答が得られます。 S Standard Edition 2 中間値は 64 ビット浮動小数点値ですが、既定の実装中間値は 80 ビット浮動小数点です。
Note
/Oi (組み込み関数の生成) コンパイラ オプションを使用してプロジェクトをコンパイルする場合、_set_SSE2_enable
では何も生じないように見えることがあります。 /Oi コンパイラ オプションは、組み込み関数を使用して CRT 呼び出しを置き換える権限をコンパイラに与えます。この動作は、次の_set_SSE2_enable
効果をオーバーライドします。 /Oi がオーバーライド_set_SSE2_enable
されないことを保証する場合は、/Oi- を使用してプロジェクトをコンパイルします。 /Oi を暗黙指定する他のコンパイラ スイッチを使用するときにも、そのようにすることをお勧めします。
SSE2 実装はすべての例外がマスクされる場合にのみ使用します。 を_controlfp
使用して_control87
例外をマスクします。
必要条件
ルーチンによって返される値 | 必須ヘッダー |
---|---|
_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.
関連項目
フィードバック
https://aka.ms/ContentUserFeedback」を参照してください。
以下は間もなく提供いたします。2024 年を通じて、コンテンツのフィードバック メカニズムとして GitHub の issue を段階的に廃止し、新しいフィードバック システムに置き換えます。 詳細については、「フィードバックの送信と表示