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