Section courante

A propos

Section administrative du site

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
   ij 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