Introduction
Le SSE4.2, tirant son nom de l'anglicisme «Streaming SIMD Extensions 4.2», est un extension d'ensemble d'instructions d'abord proposé pour les architectures Nehalem de l'entreprise Intel. Le SSE4.2 propose 5 instructions fonctionnant sur le registre XMM en tant que source ou destination. Celles-ci incluent 4 instructions de traitement de texte ou de chaîne caractères et un mot de passe SIMD comparé. La programmation de ces 5 instructions SSE4.2 est similaire à la programmation SIMD entier 128 bits dans SSE2 et SSSE3.
Les instructions SSE4.2
Voici la liste d'une partie l'ensemble d'instructions SSE4.2 :
Instruction | Description |
---|---|
AESDEC | Cette instruction permet d'effectuer un arrondissement du décryptage AES en utilisant l'équivalence de Cipher inversé, avec un clef arrondie pour le deuxième opérande source, opération dans une données de 128 bits du premier opérande source, et enregistre le résultat dans l'opérande de destination. |
AESDECLAST | Cette instruction permet d'effectuer le dernier arrondissement du décryptage AES en utilisant l'équivalence de Cipher inversé, avec un clef arrondie pour le deuxième opérande source, opération dans une données de 128 bits du premier opérande source, et enregistre le résultat dans l'opérande de destination. |
AESENC | Cette instruction permet d'effectuer un arrondissement d'encryptage AES en utilisant la clef arrondie pour le deuxième opérande source, opération dans une données de 128 bits du premier opérande source, et enregistre le résultat dans l'opérande de destination. |
AESENCLAST | Cette instruction permet d'effectuer le dernier arrondissement d'encryptage AES en utilisant la clef arrondie pour le deuxième opérande source, opération dans une données de 128 bits du premier opérande source, et enregistre le résultat dans l'opérande de destination. |
AESIMC | Cette instruction permet d'effectuer une transformation InvMixColumns de l'opérande source et enregistre le résultat dans l'opérande de destination. |
AESKEYGENASSIST | Cette instruction permet d'effectuer l'expansion de clef AES Cipher, en calculant la génération des clefs arrondies pour l'encryption, en utilisant les données 128 bits spécifiés de l'opérande source et de la constante arrondie arrondie 8 bits spécifié immédiate et enregistre le résultat dans l'opérande de destination. |
CRC32 | Cette instruction débute avec une valeur initiale dans l'opérande de destination, accumule une valeur de code CRC-32 (polynomial de 11EDC6F41h) dans l'opérande source et enregistre le résultat dans l'opérande de destination. |
PCMPGTQ | Cette instruction permet d'effectuer une comparaison sur un paquet de quadruple mots et fixe la valeur de chacun d'eux à FFFFFFFFFFFFFFFFh si l'opérande destinataire est supérieur à l'opérande source sinon à 0000000000000000h. |
PCMPESTRI | Cette instruction permet d'effectuer une comparaison ainsi qu'un processus de fragments de deux chaine de caractères basé sur une valeur d'encodage indiquer par un opérande immédiate et génère un index entreposé dans le registre ECX. |
PCMPESTRM | Cette instruction permet d'effectuer une comparaison ainsi qu'un processus de fragments de deux chaine de caractères basé sur une valeur d'encodage indiquer par un opérande immédiate et génère un masque entreposé dans le registre XMM0. |
PCMPISTRI | Cette instruction permet d'effectuer une comparaison ainsi qu'un processus de fragments de deux chaines de caractères basé sur une valeur d'encodage implicite indiquer par un opérande immédiate et génère un index entreposé dans le registre ECX. |
PCMPISTRM | Cette instruction permet d'effectuer une comparaison ainsi qu'un processus de fragments de deux chaine de caractères basé sur une valeur d'encodage implicite indiquer par un opérande immédiate et génère un masque entreposé dans le registre XMM0. |
PCLMULQDQ | Cette instruction permet d'effectuer une multiplication de quadruple mots avec une retenue en sélectionnant l'opérande destination et source et une valeur immédiate pour sélectionner les critères. |
Remarques
- L'extension d'ensemble d'instructions SSE4.2 ne fournit aucune instruction SIMD à 64 bits.
- Le CRC32 fonctionne sur des registres à usage général.
Dernière mise à jour : Mercredi, le 15 février 2017