Assembleur 80x86 | VPMADD52HUQ |
---|---|
INTEL AVX-512 | Packed Multiply of Unsigned 52-bit Unsigned Integers and Add High 52-bit Products to 64-bit Accumulators |
Syntaxe
VPMADD52HUQ Xmm1 {k1}{z}, Xmm2, Xmm3 |
Description
Cette instruction permet de multiplier un paquet de nombre naturel 52 bits de chaque élément quadruple mot du premier opérande source (le seconde opérande) avec le paquet d'entiers 52 bits dans les éléments correspondant du second opérande source (le troisième opérande) vers le paquet de 104 bits intermédiaire.
Algorithme
(KL, VL) = (2, 128), (4, 256), (8, 512) BOUCLE POUR j ← 0 JUSQU'A KL-1 i ← j x 64 SI k1[j] OU *pas de masque d'écriture* ALORS SI src2 est en mémoires ET EVEX.b=1 ALORS tsrc2[63:0] ← ZeroExtend64(src2[51:0]) SINON tsrc2[63:0] ← ZeroExtend64(src2[i + 51:i] FIN SI Temp128[127:0] ← ZeroExtend64(src1[i + 51:i]) x tsrc2[63:0] Temp2[63:0] ← DEST[i + 63:i] + ZeroExtend64(temp128[103:52]) DEST[i + 63:i] ← Temp2[63:0] SINON SI *masque à zéro* ALORS DEST[i + 63:i] ← 0 SINON DEST[i + 63:i] reste inchangé FIN SI FIN SI FIN BOUCLE POUR DEST[MAX_VL-1:VL] ← 0 |
Mnémonique
Instruction | Opcode | Description |
---|---|---|
VPMADD52HUQ xmm1 {k1}{z}, xmm2, xmm3/m128/m64bcst | EVEX.DDS.128.66.0F38.W1 B5 /r | Cette instruction permet de multiplier un paquet de nombre naturel 52 bits de chaque élément quadruple mot du premier opérande source (le seconde opérande) avec le paquet d'entiers 52 bits dans les éléments correspondant du second opérande source (le troisième opérande) vers le paquet de 104 bits intermédiaire. |
VPMADD52HUQ ymm1 {k1}{z}, ymm2, ymm3/m256/m64bcst | EVEX.DDS.256.66.0F38.W1 B5 /r | Cette instruction permet de multiplier un paquet de nombre naturel 52 bits de chaque élément quadruple mot du premier opérande source (le seconde opérande) avec le paquet d'entiers 52 bits dans les éléments correspondant du second opérande source (le troisième opérande) vers le paquet de 104 bits intermédiaire. |
VPMADD52HUQ zmm1 {k1}{z}, zmm2, zmm3/m512/m64bcst | EVEX.DDS.512.66.0F38.W1 B5 /r | Cette instruction permet de multiplier un paquet de nombre naturel 52 bits de chaque élément quadruple mot du premier opérande source (le seconde opérande) avec le paquet d'entiers 52 bits dans les éléments correspondant du second opérande source (le troisième opérande) vers le paquet de 104 bits intermédiaire. |
Dernière mise à jour : Dimanche, le 23 avril 2017