_set_SSE2_enable
Povolí nebo zakáže použití Streaming SIMD Extensions 2 (SSE2) pokyny v matematických rutin CRT. (Tato funkce není k dispozici v x 64 architektury, protože SSE2 je ve výchozím nastavení povolena.)
int _set_SSE2_enable(
int flag
);
Parametry
- flag
1 Chcete-li povolit provádění SSE2; 0 se zakáže provádění SSE2.Standardně je povoleno provádění SSE2 na procesory, které podporují.
Vrácená hodnota
Nenulová hodnota, pokud je povoleno provádění SSE2; rovna nule, jestliže je zakázáno provádění SSE2.
Poznámky
Následující funkce mají implementaci SSE2, které lze povolit pomocí _set_SSE2_enable:
SSE2 implementace těchto funkcí může dát mírně odlišné odpovědi než výchozí implementace protože SSE2 mezilehlé hodnoty 64-bit s plovoucí desetinnou čárkou množství ale mezilehlé hodnoty výchozí implementace jsou 80-bit s plovoucí desetinnou čárkou množství.
[!POZNÁMKA]
Použijete-li /Oi (Generovat vnitřní funkce) možnost kompilátoru pro kompilaci projektu, může zdát, že _set_SSE2_enable nemá žádný účinek./Oi Možnost kompilátoru umožňuje kompilátor oprávnění k použití vnitřní nahradit volání CRT; Toto chování potlačuje účinek _set_SSE2_enable.Jestliže chcete zaručit, že /Oi nepotlačí _set_SSE2_enable, použít /Oi- ke zkompilování projektu.To může být také vhodné při použití jiných přepínačů, které neznamená /Oi.
SSE2 provedení se používá pouze v případě, že všechny výjimky jsou maskovány.Použití _control87, _controlfp na masku výjimky.
Požadavky
Rutina |
Požadované záhlaví |
---|---|
_set_SSE2_enable |
<math.h> |
Další informace o kompatibilitě naleznete v úvodu tématu Kompatibilita.
Příklad
// 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");
}
Výsledek
SSE2 enabled.
Ekvivalent v rozhraní .NET Framework
Nelze použít. Pokud chcete volat standardní funkci jazyka C, použijte PInvoke. Další informace naleznete v tématu Příklady vyvolání platformy.