Section courante

A propos

Section administrative du site

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