_set_SSE2_enable
Active ou désactive l'utilisation des instructions d' Extensions Streaming SIMD 2 (SSE2) dans les routines mathématiques CRT.(Cette fonction n'est pas disponible sur les architectures x64 car SSE2 est activé par défaut.)
int _set_SSE2_enable(
int flag
);
Paramètres
- flag
1 pour activer l'implémentation SSE2 ; 0 pour désactiver l'implémentation SSE2.Par défaut, l'implémentation SSE2 est activée sur les processeurs qui le prennent en charge.
Valeur de retour
Une valeur différente de zéro si l'implémentation SSE2 est activée ; zéro si l'implémentation SSE2 est désactivée.
Notes
Les fonctions suivantes présentent les implémentations SSE2 qui peuvent être activées à l'aide de _set_SSE2_enable:
Les implémentations SSE2 de ces fonctions peuvent donner des réponses légèrement différente que les implémentations par défaut, parce que les valeurs SSE2 intermédiaires sont des quantités à virgule flottante 64 bits mais les valeurs intermédiaires d'implémentation par défaut est 80 quantités à virgule flottante de bits.
[!REMARQUE]
Si vous utilisez l'option du compilateur pour /Oi (Génère des fonctions intrinsèques) de compiler le projet, il peut être évident qu' _set_SSE2_enable n'a aucun effet.L'option du compilateur pour /Oi permet au compilateur l'autorité pour utiliser des intrinsèques pour remplacer des appels CRT ; ce comportement remplace l'effet d' _set_SSE2_enable.Si vous souhaitez vous assurer qu' /Oi ne remplace pas _set_SSE2_enable, utilisez /Oi- pour compiler votre projet.Cela peut également être méthode conseillée lorsque vous utilisez d'autres commutateurs de compilation qui impliquent /Oi.
L'implémentation SSE2 est utilisée uniquement si toutes les exceptions sont masquées.Utilisation _control87, _controlfp de masquer des exceptions.
Configuration requise
Routine |
En-tête requis |
---|---|
_set_SSE2_enable |
<math.h> |
Pour plus d'informations de compatibilité, consultez Compatibilité dans l'introduction.
Exemple
// 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");
}
Sortie
SSE2 enabled.
Équivalent .NET Framework
Non applicable. Pour appeler la fonction C standard, utilisez PInvoke. Pour plus d'informations, consultez Exemples d'appel de code non managé.