Partager via


_set_SSE2_enable

Active ou désactive l’utilisation d’instructions SSE2 (Streaming SIMD Extensions 2) dans les routines mathématiques CRT. (Cette fonction n’est pas disponible sur les architectures x64, car SSE2 est activé par défaut.)

Syntaxe

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 la prennent en charge.

Valeur retournée

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 intègrent des 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érentes des implémentations par défaut. Les valeurs intermédiaires SSE2 sont des quantités à virgule flottante 64 bits, mais les valeurs intermédiaires d’implémentation par défaut sont des quantités à virgule flottante 80 bits.

Remarque

Si vous utilisez l’option du compilateur /Oi (Générer des fonctions intrinsèques) pour compiler le projet, _set_SSE2_enable peut sembler ne produire aucun effet. L’option du compilateur /Oi donne au compilateur l’autorité d’utiliser des intrinsèques pour remplacer les appels CRT ; ce comportement remplace l’effet de _set_SSE2_enable. Si vous souhaitez garantir que /Oi ne remplace _set_SSE2_enablepas , utilisez /Oi- pour compiler votre projet. Cela peut également être une bonne pratique lorsque vous utilisez d’autres commutateurs de compilateur qui impliquent /Oi.

L’implémentation SSE2 n’est utilisée que si toutes les exceptions sont masquées. Utilisez _control87, _controlfp pour masquer les exceptions.

Spécifications

Routine En-tête requis
_set_SSE2_enable <math.h>

Pour plus d’informations sur la compatibilité, consultez Compatibility.

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");
}
SSE2 enabled.

Voir aussi

Fichiers C runtime (CRT) et bibliothèque standard C++ (STL) .lib