_set_SSE2_enable
Povolí nebo zakáže použití instrukcí SSE2 (Streaming SIMD Extensions 2) v matematických rutinách CRT. (Tato funkce není dostupná v architekturách x64, protože ve výchozím nastavení je povolená služba SSE2.)
Syntaxe
int _set_SSE2_enable(
int flag
);
Parametry
flag
1, aby bylo možné provést SSE2; 0, pokud chcete zakázat implementaci SSE2. Ve výchozím nastavení je u procesorů, které ji podporují, povolená implementace SSE2.
Vrácená hodnota
Nenulové, pokud je povolena implementace SSE2; nula, pokud je implementace SSE2 zakázaná.
Poznámky
Následující funkce mají implementace SSE2, které lze povolit pomocí _set_SSE2_enable
:
Implementace SSE2 těchto funkcí mohou poskytovat mírně odlišné odpovědi než výchozí implementace. Mezilehlé hodnoty SSE2 jsou 64bitové množství s plovoucí desetinou čárkou, ale výchozí zprostředkující hodnoty implementace jsou 80bitové množství s plovoucí desetinou čárkou.
Poznámka:
Pokud k kompilaci projektu použijete možnost kompilátoru /Oi (generovat vnitřní funkce ), může se zobrazit, že _set_SSE2_enable
nemá žádný vliv. Možnost kompilátoru /Oi dává kompilátoru autoritu použít vnitřní funkce k nahrazení volání CRT; toto chování přepíše účinek _set_SSE2_enable
. Pokud chcete zaručit, že /Oi nepřepíše _set_SSE2_enable
, použijte /Oi- ke kompilaci projektu. To může být také dobrý postup při použití jiných přepínačů kompilátoru, které naznačují /Oi.
Implementace SSE2 se používá pouze v případě, že jsou všechny výjimky maskovány. _controlfp
Slouží _control87
k maskování výjimek.
Požadavky
Rutina | Požadovaný hlavičkový soubor |
---|---|
_set_SSE2_enable |
<math.h> |
Další informace o kompatibilitě najdete v 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");
}
SSE2 enabled.
Viz také
Soubory C runtime (CRT) a standardní knihovny C++ (STL) .lib