Section courante

A propos

Section administrative du site

Assembleur 80x86

VPERMT2PS

INTEL AVX-512 Full Permute from Two Tables Overwriting one Table

Syntaxe

VPERMT2PS Xmm1 {k1}{z}, Xmm2, Xmm3

Description

Cette instruction permet de permuter les valeurs 32 bits de réel de simple précision dans le premier opérande et le troisième opérande (le second opérande source) en utilisant un indice dans le second opérande (le premier opérande source) vers les éléments sélectionné du premier et troisième opérande.

Algorithme

(KL, VL) = (4, 128), (8, 256), (16, 512)
SI VL = 128 ALORS
   id ← 1
FIN SI
SI VL = 256 ALORS
   id ← 2
FIN SI
SI VL = 512 ALORS
   id ← 3
FIN SI
TMP_DEST ← DEST
BOUCLE POUR j ← 0 JUSQU'A KL-1
   ij x 32
   off ← 32 x SRC1[i + id:i]
   SI k1[j] OU *pas de masque d'écriture* ALORS
      SI (EVEX.b = 1) ET (SRC2 est de la mémoire ALORS
         DEST[i + 31:i] ← SRC1[i + id + 1] ? SRC2[31:0] : TMP_DEST[off + 31:off]
      SINON
      DEST[i + 31:i] ← SRC1[i + id + 1] ? SRC2[off + 31:off] : TMP_DEST[off + 31:off]
      FIN SI
   SINON
      SI *fusionne le masque* ALORS
         DEST[i + 31:i] reste inchangé
      SINON
         DEST[i + 31:i] ← 0
      FIN SI
   FIN SI
FIN BOUCLE POUR
DEST[MAXVL-1:VL] ? 0

Mnémonique

Instruction Opcode Description
VPERMT2PS xmm1 {k1}{z}, xmm2, xmm3/m128/m32bcst EVEX.DDS.128.66.0F38.W0 7F /r Cette instruction permet de permuter les valeurs 32 bits de réel de simple précision dans le premier opérande et le troisième opérande (le second opérande source) en utilisant un indice dans le second opérande (le premier opérande source) vers les éléments sélectionné du premier et troisième opérande.
VPERMT2PS ymm1 {k1}{z}, ymm2, ymm3/m256/m32bcst EVEX.DDS.256.66.0F38.W0 7F /r Cette instruction permet de permuter les valeurs 32 bits de réel de simple précision dans le premier opérande et le troisième opérande (le second opérande source) en utilisant un indice dans le second opérande (le premier opérande source) vers les éléments sélectionné du premier et troisième opérande.
VPERMT2PS zmm1 {k1}{z}, zmm2, zmm3/m512/m32bcst EVEX.DDS.512.66.0F38.W0 7F /r Cette instruction permet de permuter les valeurs 32 bits de réel de simple précision dans le premier opérande et le troisième opérande (le second opérande source) en utilisant un indice dans le second opérande (le premier opérande source) vers les éléments sélectionné du premier et troisième opérande.


Dernière mise à jour : Dimanche, le 23 avril 2017