Section courante

A propos

Section administrative du site

Assembleur 80x86

VPMULTISHIFTQB

INTEL AVX-512 Select Packed Unaligned Bytes from Quadword Sources

Syntaxe

VPMULTISHIFTQB 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) = (2, 128),(4, 256), (8, 512)
BOUCLE POUR i ← 0 JUSQU'A KL-1
   SI EVEX.b=1 ET src2 est en mémoire ALORS
      tcur ← src2.qword[0]
   SINON
      tcur ← src2.qword[i]
   FIN SI
   BOUCLE POUR j ← 0 JUSQU'A 7
      ctrl ← src1.qword[i].byte[j] ∩ 63
      BOUCLE POUR k ← 0 JUSQU'A 7
         res.bit[k] ← tcur.bit[ (ctrl + k) mod 64 ]
      FIN BOUCLE POUR
      SI k1[i x 8 + j] OU pas de masque d'écriture ALORS
         dst.qword[i].byte[j] ← res
      SINON zeroing-masking ALORS
         dst.qword[i].byte[j] ← 0
      FIN SI
   FIN BOUCLE POUR
FIN BOULE POUR
DEST.qword[MAX_VL-1:VL] ← 0

Mnémonique

Instruction Opcode Description
VPMULTISHIFTQB xmm1 {k1}{z}, xmm2,xmm3/m128/m64bcst EVEX.NDS.128.66.0F38.W1 83 /r Cette instruction permet de sélectionner 8 octets non-alignés de chaque entrée d'élément quadruple mot du second opérande source (le troisième opérande) et écrit 8 octets assemblés pour chaque élément quadruple mot dans l'opérande de destination (le premier opérande).
VPMULTISHIFTQB ymm1 {k1}{z}, ymm2,ymm3/m256/m64bcst EVEX.NDS.256.66.0F38.W1 83 /r Cette instruction permet de sélectionner 8 octets non-alignés de chaque entrée d'élément quadruple mot du second opérande source (le troisième opérande) et écrit 8 octets assemblés pour chaque élément quadruple mot dans l'opérande de destination (le premier opérande).
VPMULTISHIFTQB zmm1 {k1}{z}, zmm2,zmm3/m512/m64bcst EVEX.NDS.512.66.0F38.W1 83 /r Cette instruction permet de sélectionner 8 octets non-alignés de chaque entrée d'élément quadruple mot du second opérande source (le troisième opérande) et écrit 8 octets assemblés pour chaque élément quadruple mot dans l'opérande de destination (le premier opérande).


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