Section courante

A propos

Section administrative du site

Introduction

Le SSE4.1, tirant son nom de l'anglicisme «Streaming SIMD Extensions 4.1», est un extension d'ensemble d'instructions d'abord proposé pour les architectures Penryn de l'entreprise Intel. Les instructions SSE4.1 peuvent utiliser un registre XMM comme source ou destination. La programmation de l'extension d'ensemble d'instructions SSE4.1 est similaire à la programmation d'instructions SIMD à 128 bits et SIMD à virgule flottante dans les extensions SSE, SSE2, SSE3 et SSSE3.

Les instructions SSE4.1

Voici la liste d'une partie l'ensemble d'instructions SSE4.1 :

Instruction Description
BLENDPD Cette instruction permet de copier le paquet de valeurs réel de double précisions de l'opérande source dans l'opérande de destination si la condition de masque de l'opérande immédiate est rempli.
BLENDPS Cette instruction permet de copier le paquet de valeurs réel de simple précisions de l'opérande source dans l'opérande de destination si la condition de masque de l'opérande immédiate est rempli.
BLENDVPD Cette instruction permet de copier le paquet de valeurs réel de double précisions de l'opérande source dans l'opérande de destination si la condition de masque de l'opérande du troisième opérande en registre est rempli.
BLENDVPS Cette instruction permet de copier le paquet de valeurs réel de simple précisions de l'opérande source dans l'opérande de destination si la condition de masque de l'opérande du troisième opérande en registre est rempli.
DPPD Cette instruction permet d'effectuer une multiplication conditionnel d'un paquet de valeurs réel de double précision dans l'opérande de destination avec le paquet de valeurs réel de l'opérande source et effectue un masque des bits extrait d'un opérande immédiat.
DPPS Cette instruction permet d'effectuer une multiplication conditionnel d'un paquet de valeurs réel de simple précision dans l'opérande de destination avec le paquet de valeurs réel de l'opérande source et effectue un masque des bits extrait d'un opérande immédiat.
EXTRACTPS Cette instruction permet d'extraire une valeur réel (à virgule flottante) de simple précision d'un déplacement spécifié dans un registre XMM et entrepose le résultat dans la mémoire ou dans un registre à usage général.
INSERTPS Cette instruction permet d'insérer une valeur réel de simple précision d'un opérande source dans l'emplacement d'un registre d'opérande de destination et met des 0 dans les données en dehors du masque de destination.
MOVNTDQA Cette instruction permet de copier le contenu aligné de double quadruple mots d'un opérande source vers un opérande de destination sans utiliser la méthode temporel pour minimiser la pollution du cache.
MPSADBW Cette instruction permet d'effectuer le calcul de la somme de la différence absolue (SAD) d'une paire d'octets d'un groupe de 4 octets paires et produit 8 résultats SAD entreposé dans 8 entier contenu dans l'opérande de destination.
PACKUSDW Cette instruction permet de compacté 8 paquets de double mots naturel en mots naturel.
PBLENDVB Cette instruction permet d'effectuer une copie conditionnel d'un élément d'octets d'un opérande source vers un opérande de destination en fonction des bits de masque définit dans un troisième opérande.
PBLENDW Cette instruction permet d'effectuer une copie conditionnel d'un élément d'octets d'un opérande source vers un opérande de destination en fonction des bits de masque définit dans un troisième opérande.
PCMPEQQ Cette instruction permet d'effectuer une comparaison d'égalité SIMD d'un paquet de quadruple mots de l'opérande destination et de l'opérande source.
PEXTRB Cette instruction permet de copier l'octet de l'opérande source spécifié par un compteur d'opérande dans l'opérande de destination.
PEXTRD Cette instruction permet de copier le double mot de l'opérande source spécifié par un compteur d'opérande dans l'opérande de destination.
PEXTRQ Cette instruction permet de copier le quadruple mot de l'opérande source spécifié par un compteur d'opérande dans l'opérande de destination.
PEXTRW Cette instruction permet de copier le mot de l'opérande source spécifié par un compteur d'opérande dans l'opérande de destination.
PHMINPOSUW Cette instruction permet de demander le minimum des valeurs de mot de l'opérande source et place dans la partie basse de l'opérande le mot.
PINSRB Cette instruction permet d'effectuer une copie d'un octet d'un opérande source et de l'insérer dans l'opérande de destination de l'emplacement spécifié par un compteur d'opérande.
PINSRD Cette instruction permet d'effectuer une copie d'un double mot d'un opérande source et de l'insérer dans l'opérande de destination de l'emplacement spécifié par un compteur d'opérande.
PINSRQ Cette instruction permet d'effectuer une copie d'un quadruple mot d'un opérande source et de l'insérer dans l'opérande de destination de l'emplacement spécifié par un compteur d'opérande.
PMAXSB Cette instruction permet de retourner la valeur maximal de chacun des octets (entier) des paquets contenu dans deux opérandes.
PMAXSD Cette instruction permet de retourner la valeur maximal de chacun des doubles mots des paquets contenu dans deux opérandes.
PMAXUD Cette instruction permet de retourner la valeur maximal de chacun des doubles mots (naturel) des paquets contenu dans deux opérandes.
PMAXUW Cette instruction permet de retourner la valeur maximal de chacun des mots (naturel) des paquets contenu dans deux opérandes.
PMINSB Cette instruction permet de retourner la valeur minimal de chacun des octets (entier) des paquets contenu dans deux opérandes.
PMINSD Cette instruction permet de retourner la valeur minimal de chacun des doubles mots des paquets contenu dans deux opérandes.
PMINUD Cette instruction permet de retourner la valeur minimal de chacun des doubles mots (naturel) des paquets contenu dans deux opérandes.
PMINUW Cette instruction permet de comparer les entiers de mots non signés compactés.
PMOVSXBD Cette instruction permet d'étendre les signes du paquet des entiers de 8 bits de la partie basse de l'opérande source en entiers 32 bits dans l'opérande de destination.
PMOVSXBQ Cette instruction permet d'étendre les signes du paquet des entiers de 8 bits de la partie basse de l'opérande source en entiers 64 bits dans l'opérande de destination.
PMOVSXBW Cette instruction permet d'étendre les signes du paquet des entiers de 8 bits de la partie basse de l'opérande source en entiers 16 bits dans l'opérande de destination.
PMOVSXDQ Cette instruction permet d'étendre les signes du paquet des entiers de 32 bits de la partie basse de l'opérande source en entiers 64 bits dans l'opérande de destination.
PMOVSXWD Cette instruction permet d'étendre les signes du paquet des entiers de 16 bits de la partie basse de l'opérande source en entiers 32 bits dans l'opérande de destination.
PMOVSXWQ Cette instruction permet d'étendre les signes du paquet des entiers de 16 bits de la partie basse de l'opérande source en entiers 64 bits dans l'opérande de destination.
PMOVZXBD Cette instruction permet d'étendre les zéros du paquet des entiers de 8 bits de la partie basse de l'opérande source en entiers 32 bits dans l'opérande de destination.
PMOVZXBQ Cette instruction permet d'étendre les zéros du paquet des entiers de 8 bits de la partie basse de l'opérande source en entiers 64 bits dans l'opérande de destination.
PMOVZXBW Cette instruction permet d'étendre les zéros du paquet des entiers de 8 bits de la partie basse de l'opérande source en entiers 16 bits dans l'opérande de destination.
PMOVZXDQ Cette instruction permet d'étendre les zéros du paquet des entiers de 32 bits de la partie basse de l'opérande source en entiers 64 bits dans l'opérande de destination.
PMOVZXWD Cette instruction permet d'étendre les zéros du paquet des entiers de 16 bits de la partie basse de l'opérande source en entiers 32 bits dans l'opérande de destination.
PMOVZXWQ Cette instruction permet d'étendre les zéros du paquet des entiers de 16 bits de la partie basse de l'opérande source en entiers 64 bits dans l'opérande de destination.
PMULDQ Cette instruction permet d'effectuer la multiplication de deux valeurs signés de deux paires de double mots entier et entrepose les résultats dans un opérande en paquet de 64 bits.
PMULLD Cette instruction permet d'effectuer la multiplication de la partie basse de chacun des double mots des 2 paquets d'opérandes.
PTEST Cette instruction permet d'effectuer une comparaison de paquet avec un «Et binaire» sans modifier les opérandes.
ROUNDPD Cette instruction permet d'effectuer l'arrondissement de 2 valeurs réel de double précision dans l'opérande source en utilisant le mode spécifié par l'opérande immédiate et place le résultat dans l'opérande de destination.
ROUNDPS Cette instruction permet d'effectuer l'arrondissement de 4 valeurs réel de simple précision dans l'opérande source en utilisant le mode spécifié par l'opérande immédiate et place le résultat dans l'opérande de destination.
ROUNDSD Cette instruction permet d'effectuer l'arrondissement scalaire de valeurs réel de double précision, dans sa partie basse du quadruple mot, dans l'opérande source en utilisant le mode spécifié par l'opérande immédiate et place le résultat dans l'opérande de destination.
ROUNDSS Cette instruction permet d'effectuer l'arrondissement scalaire de valeurs réel de simple précision, dans sa partie basse du quadruple mot, dans l'opérande source en utilisant le mode spécifié par l'opérande immédiate et place le résultat dans l'opérande de destination.

Remarque



Dernière mise à jour : Mercredi, le 15 février 2017