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