Assembleur 80x86 | VPERMT2W |
---|---|
INTEL AVX-512 | Full Permute from Two Tables Overwriting one Table |
Syntaxe
VPERMT2W Xmm1 {k1}{z}, Xmm2, Xmm3 |
Description
Cette instruction permet de permuter les valeurs 16 bits 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) = (8, 128), (16, 256), (32, 512) SI VL = 128 ALORS id ← 2 FIN SI SI VL = 256 ALORS id ← 3 FIN SI SI VL = 512 ALORS id ← 4 FIN SI TMP_DEST ← DEST BOUCLE POUR j ← 0 JUSQU'A KL-1 i ← j x 16 off ← 16 x SRC1[i + id:i] SI k1[j] OU *pas de masque d'écriture* ALORS DEST[i + 15:i] ← SRC1[i + id + 1] ? SRC2[off + 15:off] : TMP_DEST[off + 15:off] SINON SI *fusionne le masque* ALORS DEST[i + 15:i] reste inchangé SINON DEST[i + 15:i] ← 0 FIN SI FIN SI FIN BOUCLE POUR DEST[MAXVL-1:VL] ← 0 |
Mnémonique
Instruction | Opcode | Description |
---|---|---|
VPERMT2W xmm1 {k1}{z}, xmm2, xmm3/m128 | EVEX.DDS.128.66.0F38.W1 7D /r | Cette instruction permet de permuter les valeurs 16 bits 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. |
VPERMT2W ymm1 {k1}{z}, ymm2, ymm3/m256 | EVEX.DDS.256.66.0F38.W1 7D /r | Cette instruction permet de permuter les valeurs 16 bits 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. |
VPERMT2W zmm1 {k1}{z}, zmm2, zmm3/m512 | EVEX.DDS.512.66.0F38.W1 7D /r | Cette instruction permet de permuter les valeurs 16 bits 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