Section courante

A propos

Section administrative du site

Assembleur 80x86

VPERMB

INTEL AVX-512 Permute Packed Bytes Elements

Syntaxe

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

Description

Cette instruction permet de copier les octets d'un second opérande source (le troisième opérande) vers l'opérande de destination (le premier opérande).

Algorithme

(KL, VL) = (16, 128), (32, 256), (64, 512)
SI VL = 128 ALORS
   n ← 3
SINON VL = 256 ALORS
   n ← 4;
SINON VL = 512 ALORS
   n ← 5;
FIN SI
BOUCLE POUR j ← 0 JUSQU'A KL-1
   id ← SRC1[j x 8 + n : j x 8] ; emplacement de l'octet source
   SI k1[j] OU *pas de masque d'écriture* ALORS
      DEST[j x 8 + 7: j x 8] ← SRC2[id x 8 + 7: id x 8]
   SINON zeroing-masking ALORS
      DEST[j x 8 + 7: j x 8] ← 0
   SINON
      DEST[j x 8 + 7: j x 8] reste inchangé
   FIN SI
FIN BOUCLE POUR
DEST[MAX_VL-1:VL] ← 0

Mnémonique

Instruction Opcode Description
VPERMB xmm1 {k1}{z}, xmm2, xmm3/m128 EVEX.NDS.128.66.0F38.W0 8D /r Cette instruction permet de copier les octets d'un second opérande source (le troisième opérande) vers l'opérande de destination (le premier opérande).
VPERMB ymm1 {k1}{z}, ymm2, ymm3/m256 EVEX.NDS.256.66.0F38.W0 8D /r Cette instruction permet de copier les octets d'un second opérande source (le troisième opérande) vers l'opérande de destination (le premier opérande).
VPERMB zmm1 {k1}{z}, zmm2, zmm3/m512 EVEX.NDS.512.66.0F38.W0 8D /r Cette instruction permet de copier les octets d'un second opérande source (le troisième opérande) vers l'opérande de destination (le premier opérande).


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