Share via


_set_SSE2_enable

在 CRT 數學常式中啟用或停用 Streaming SIMD Extensions 2 (SSE2) 指令的使用 (x64 架構無法使用此函式,因為預設會啟用 SSE2。

語法

int _set_SSE2_enable(
   int flag
);

參數

flag
1 啟用 SSE2 實作;0 停用 SSE2 實作。 根據預設,會在支援它的處理器上啟用 SSE2 實作。

傳回值

如果啟用 SSE2 實作,則為非零;如果停用 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 實作。 使用 _control87_controlfp 遮罩例外狀況。

需求

常式 必要的標頭
_set_SSE2_enable <math.h>

如需相容性詳細資訊,請參閱相容性

範例

// 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 檔案