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 i ← j 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