Assembleur 80x86 | VPMADD52LUQ |
---|---|
INTEL AVX-512 | Packed Multiply of Unsigned 52-bit Integers and Add the Low 52-bit Products to Qword Accumulators |
Syntaxe
VPMADD52LUQ Xmm1 {k1}{z}, Xmm2,Xmm3 |
Description
Cette instruction permet de multiplier un paquet d'entiers 52 bits de chaque élément quadruple mot du premier opérande source (le seconde opérande) avec le paquet de nombre naturel 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émoire 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[51:0]) DEST[i + 63:i] ← Temp2[63:0] SINON SI *masque est à zéro ALORS DEST[i + 63:i] ← 0 SINON DEST[i + 63:i] reste inchangé FIN SI FIN SI FIN POUR BOUCLE DEST[MAX_VL-1:VL] ← 0 |
Mnémonique
Instruction | Opcode | Description |
---|---|---|
VPMADD52LUQ xmm1 {k1}{z}, xmm2,xmm3/m128/m64bcst | EVEX.DDS.128.66.0F38.W1 B4 /r | Cette instruction permet de multiplier un paquet d'entiers 52 bits de chaque élément quadruple mot du premier opérande source (le seconde opérande) avec le paquet de nombre naturel 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. |
VPMADD52LUQ ymm1 {k1}{z}, ymm2, ymm3/m256/m64bcst | EVEX.DDS.256.66.0F38.W1 B4 /r | Cette instruction permet de multiplier un paquet d'entiers 52 bits de chaque élément quadruple mot du premier opérande source (le seconde opérande) avec le paquet de nombre naturel 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. |
VPMADD52LUQ zmm1 {k1}{z}, zmm2,zmm3/m512/m64bcst | EVEX.DDS.512.66.0F38.W1 B4 /r | Cette instruction permet de multiplier un paquet d'entiers 52 bits de chaque élément quadruple mot du premier opérande source (le seconde opérande) avec le paquet de nombre naturel 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