_set_SSE2_enable
Włącza lub wyłącza korzystanie z instrukcji 2 (SSE2) przesyłania strumieniowego rozszerzeń SIMD w procedur matematycznych CRT. (Ta funkcja nie jest dostępna w architekturach x64, ponieważ domyślnie włączono funkcję SSE2).
Składnia
int _set_SSE2_enable(
int flag
);
Parametry
flag
1 w celu włączenia implementacji SSE2; 0, aby wyłączyć implementację SSE2. Domyślnie implementacja SSE2 jest włączona na procesorach, które go obsługują.
Wartość zwracana
Bez zera, jeśli implementacja SSE2 jest włączona; zero, jeśli implementacja SSE2 jest wyłączona.
Uwagi
Następujące funkcje mają implementacje SSE2, które można włączyć za pomocą polecenia _set_SSE2_enable
:
Implementacje SSE2 tych funkcji mogą dawać nieco inne odpowiedzi niż domyślne implementacje. Wartości pośrednie SSE2 to 64-bitowe ilości zmiennoprzecinkowe, ale domyślne wartości pośrednie implementacji to 80-bitowe ilości zmiennoprzecinkowe.
Uwaga
Jeśli do skompilowania projektu zostanie użyta opcja kompilatora /Oi (Generuj funkcje wewnętrzne), może się okazać, że _set_SSE2_enable
nie ma żadnego wpływu. /Oi kompilator opcja daje kompilatorowi urząd do używania funkcji wewnętrznych do zastępowania wywołań CRT; to zachowanie zastępuje efekt ._set_SSE2_enable
Jeśli chcesz zagwarantować, że /Oi nie zastąpi _set_SSE2_enable
, użyj /Oi- do skompilowania projektu. Może to być również dobrym rozwiązaniem w przypadku używania innych przełączników kompilatora, które sugerują /Oi.
Implementacja SSE2 jest używana tylko wtedy, gdy wszystkie wyjątki są maskowane. Użyj polecenia _control87
, _controlfp
aby zamaskować wyjątki.
Wymagania
Procedura | Wymagany nagłówek |
---|---|
_set_SSE2_enable |
<math.h> |
Aby uzyskać więcej informacji o zgodności, zobacz Zgodność.
Przykład
// 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.