Section courante

A propos

Section administrative du site

Assembleur 80x86

VPERM2F128

AVX (AMD ou INTEL) Vector Permute 128 bits Floating-Point Values

Syntaxe

VPERM2F128 destination, source1, source2, imm8

Paramètres

Nom Description
destination Ce paramètre permet de retourner le résultat de l'opération, lequel doit être un registre YMM.
source1 Ce paramètre permet d'indiquer le premier opérande, lequel doit être un registre YMM.
source2 Ce paramètre permet d'indiquer le deuxième opérande, soit un registre YMM ou un emplacement de mémoire de 256 bits.
imm8 Ce paramètre permet d'indiquer le champ de contrôle en 8 bits, selon le format suivant :
Bits Description
0 à 1 Ces bits permettent de sélectionner la source du premier champ de 128 bits de destination.
3 Ce bit permet d'indiquer si le champ de 128 bits le plus bas est mis à zéro (1) ou pas (0).
4 à 5 Ces bits permettent de sélectionner la source du deuxième champ de destination.
7 Ce bit permet d'indiquer si le champ de 128 bits le plus haut est mis à zéro (1) ou pas (0).

Description

Cette instruction permet d'effectuer la permutation de valeurs réel de 128 bits d'un premier opérande source utilisant un champ de 8 bits de contrôle dans les octets bas d'un second opérande source et entrepose les résultats dans l'opérande de destination.

Remarque

Algorithme

MODULE VPERM2F128(destination, source1, source2, imm8)
   EVALUER CAS imm8(1..0)
      CAS 0: destination(127..0) ← source1(127..0)
      CAS 1: destination(127..0) ← source1(255..128)
      CAS 2: destination(127..0) ← source2(127..0)
      CAS 3: destination(127..0) ← source2(255..128)
   FIN EVALUER CAS
   EVALUER CAS imm8(5..4)
      CAS 0: destination(255..128) ← source1(127..0)
      CAS 1: destination(255..128) ← source1(255..128)
      CAS 2: destination(255..128) ← source2(127..0)
      CAS 3: destination(255..128) ← source2(255..128)
   FIN EVALUER CAS
   SI imm8(3) ALORS
      destination(127..0) ← 0
   FIN SI
   SI imm8(7) ALORS
      destination(255..128) ← 0
   FIN SI

Mnémonique

Instruction Opcode Description
VPERMILPS xmm1, xmm2,xmm3/m128 (VEX.NDS.256) 66h 0Fh 3Ah W0 06h /r ib Cette instruction permet d'effectuer la permutation de valeurs réel de 128 bits d'un premier opérande source utilisant un champ de 8 bits de contrôle dans les octets bas d'un second opérande source et entrepose les résultats dans l'opérande de destination.

Exceptions

Message Description
#UD(Opcode invalide) SI VEX.L = 0
SI VEX.W = 1


Dernière mise à jour : Samedi, le 2 août 2014