_set_SSE2_enable
Abilita o disabilita l'utilizzo di istruzioni Streaming SIMD Extensions 2 (SSE2) nelle routine matematiche CRT. (Questa funzione non è disponibile nelle architetture x64 perché SSE2 è abilitato per impostazione predefinita).
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 lo supportano.
Valore restituito
Diverso da zero se l'implementazione SSE2 è abilitata; zero se l'implementazione SSE2 è disabilitata.
Note
Le funzioni seguenti dispongono dell'implementazione SSE2 che può essere abilitata tramite _set_SSE2_enable:
Le implementazioni SSE2 di queste funzioni potrebbero fornire risposte leggermente diverse dalle implementazioni predefinite, poiché i valori intermedi SSE2 sono quantità a virgola mobile a 64 bit, ma i valori intermedi di un'implementazione predefinita sono quantità a virgola mobile ad 80 bit.
Nota
Se si utilizza l'opzione del compilatore /Oi (Genera funzioni intrinseche) per compilare il progetto, può sembrare che _set_SSE2_enable non abbia effetto.L'opzione del compilatore /Oi fornisce al compilatore l'autorità per utilizzare le funzioni intrinseche per sostituire le chiamate CRT; questo comportamento esegue sovrascrive l'effetto di _set_SSE2_enable.Se si desidera garantire che /Oi non esegua l'override di _set_SSE2_enable, utilizzare /Oi- per compilare il progetto.Ciò potrebbe essere consigliabile quando si utilizzano altre opzioni del compilatore che implicano /Oi.
L'implementazione SSE2 viene utilizzata solo se tutte le eccezioni sono mascherate. Utilizzare _control87, _controlfp per mascherare le eccezioni.
Requisiti
Routine |
Intestazione obbligatoria |
---|---|
_set_SSE2_enable |
<math.h> |
Per ulteriori informazioni sulla compatibilità, vedere 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");
}
Output
SSE2 enabled.
Equivalente .NET Framework
Non applicabile. Per chiamare la funzione standard C, utilizzare PInvoke. Per ulteriori informazioni, vedere Esempi di platform invoke.