Partager via


Prise en charge du compilateur de MMX, des intrinsèques, SSE et SSE2

[Cette documentation constitue un aperçu et peut faire l'objet de modifications avec les versions ultérieures. Blank topics are included as placeholders.]

Spécifique à Microsoft

Pour prendre en charge l'utilisation de MMX, les intrinsèques, SSE et SSE2, le compilateur inclut les fonctionnalités suivantes :

  • Inscription de données

  • assembleur inline

Inscription de données

Précédemment, des problèmes d'alignement dans les programmes ont été traités par le compilateur ou directement au niveau matériel. De plus, toutes les modifications d'alignement nécessaires pour qu'un programme exécute correctement ont été automatiquement activées. Toutefois, avec l'arrivée de la prise en charge intrinsèque, l'utilisateur doit jouer un rôle plus actif pour garantir que des problèmes d'alignement sont traités correctement.

Plusieurs nouvelles intrinsèques ont des spécifications d'alignement de données. Si ces éléments intrinsèques sont utilisées et les données ne sont pas correctement alignée, le programme lève une exception qui doit être gérée par le programme ; sinon, le programme censurera.

Les nouvelles intrinsèques requièrent des données alignées pour permettre de meilleures performances. avec la taille de nouveaux registres implémentés pour prendre en charge les nouveaux, améliorés jeux d'instructions, de nouvelles spécifications d'alignement ont été définies de faire la meilleure utilisation des architectures récentes de cache. Des exigences spécifiques d'inscription pour chaque intrinsèque se trouvent dans la documentation de l'objet intrinsèque.

Il existe d'autres outils pour spécifier des règles appropriées pour l'alignement des données. Pour l'alignement des données statiques ou automatique de variables déclarées par utilisateur, par exemple, consultez la documentation de section d'alignement. Pour les données allouées de manière dynamique du tas, reportez -vous aux fonctions d' inscription de données .

Notes

__m64, __m128, __m128i et types de données d' __m128d les nouveaux possède déjà une valeur d'inscription.

assembleur inline

L'utilisation d'un support de compilateur les instructions assembleur intrinsèques en blocs d'assembly inline (__asm). Le compilateur accepte également la nouvelle syntaxe MMWORD PTR et XMMWORD PTR pour faire référence à 64 et des données 128 bits.

détail de FIN Microsoft

Pour plus d'informations sur la façon de détecter les fonctions d'une UC, consultez l' Exemple CPUID.

Voir aussi

Référence

MMX, intrinsèques, SSE et SSE2