_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_enable
pas , 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