_set_SSE2_enable
Abilita o disabilita l'uso di istruzioni Streaming SIMD Extensions 2 (SSE2) nelle routine matematiche CRT. Questa funzione non è disponibile nelle architetture x64 perché SSE2 è abilitato per impostazione predefinita.
Sintassi
int _set_SSE2_enable(
int flag
);
Parametri
flag
1 per abilitare l'implementazione SSE2; 0 per disabilitare l'implementazione SSE2. Per impostazione predefinita, l'implementazione SSE2 è abilitata su processori che la supportano.
Valore restituito
Diverso da zero se l'implementazione SSE2 è abilitata; zero se l'implementazione SSE2 è disabilitata.
Osservazioni:
Le funzioni seguenti dispongono di implementazioni SSE2 che possono essere abilitate utilizzando _set_SSE2_enable
:
Le implementazioni SSE2 di queste funzioni potrebbero fornire risposte leggermente diverse rispetto alle implementazioni predefinite. I valori intermedi SSE2 sono quantità a virgola mobile a 64 bit, ma i valori intermedi di implementazione predefiniti sono quantità a virgola mobile a 80 bit.
Nota
Se si usa l'opzione del compilatore /Oi (Genera funzioni intrinseche) per compilare il progetto, può sembrare che _set_SSE2_enable
non abbia alcun effetto. L'opzione del compilatore /Oi fornisce al compilatore l'autorità di usare oggetti intrinseci per sostituire le chiamate CRT. Questo comportamento sostituisce l'effetto di _set_SSE2_enable
. Se si vuole garantire che /Oi non esegue l'override _set_SSE2_enable
di , usare /Oi- per compilare il progetto. Questa potrebbe anche essere una procedura consigliata quando si usano altre opzioni del compilatore che implicano /Oi.
L'implementazione SSE2 viene utilizzata solo se tutte le eccezioni sono mascherate. Usare _control87
, _controlfp
per mascherare le eccezioni.
Requisiti
Ciclo | Intestazione obbligatoria |
---|---|
_set_SSE2_enable |
<math.h> |
Per altre informazioni sulla compatibilità, vedere Compatibility (Compatibilità).
Esempio
// 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.