Partager via


Prise en charge de cache des extensions Streaming SIMD 2 opérations sur les entiers

[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 plus d'informations sur la syntaxe utilisée dans les exemples de code dans cette rubrique, consultez l' Intrinsèques à virgule flottante utilisation des extensions Streaming SIMD.

Les intrinsèques SSE2 utilisent __m128, __m128i, et les types de données de __m128d , qui ne sont pas pris en charge sur les processeurs (IPF) de la famille de processeurs Itanium. Aucune SSE2 intrinsèque qui utilisent le type de données de __m64 n'est prise en charge sur les processeurs de x64 .

Le fichier d'en-tête emmintrin.h contient des déclarations pour les fonctions intrinsèques de l'instruction SSE2.

void _mm_stream_si128(__m128i *p, __m128i a)

MOVNTDQ

Stocke les données dans a à l'adresse p sans polluer les caches. Si la ligne de cache qui contient l'adresse p est déjà dans le cache, le cache est mis à jour. l'adresse p doit être l'octet 16 aligné.

*p := a

void _mm_stream_si32(int *p, int a)

MOVNTI

Stocke les données dans a à l'adresse p sans polluer les caches. Si la ligne de cache qui contient l'adresse p est déjà dans le cache, le cache est mis à jour.

*p := a

void _mm_clflush(void const*p)

CLFLUSH

La ligne de cache qui contient p doit être vidée et invalidée de tous les caches dans le domaine de sécurité.

void _mm_lfence(void)

LFENCE

Garantit que chaque instruction de charge qui précède, dans l'ordre de programme, l'instruction de barrière charge est visible globalement avant toute instruction de charge qui suit la frontière de sécurité dans la commande de programme.

void _mm_mfence(void)

MFENCE

Garantit que chaque accès à la mémoire qui précède, dans l'ordre de programme, l'instruction de barrière mémoire est visible globalement avant que toute instruction de mémoire qui suit la frontière de sécurité dans la commande de programme.

void _mm_pause(void)

PAUSE

L'exécution de l'instruction suivante est différée une durée de détail d'implémentation. l'instruction ne modifie pas l'état architectural. Cette intrinsèque fournit surtout le gain de performance considérable.

Voir aussi

Référence

extensions Streaming SIMD 2 instructions