Section courante

A propos

Section administrative du site

Assembleur 80x86

V4FNMADDSS

INTEL AVX-512 Scalar Single-Precision Floating-Point Fused Multiply-Add

Syntaxe

V4FNMADDSS xmm1{k1}{z}, xmm2+3, m128

Description

Cette instruction permet de multiplier négativement des valeurs scalaires réel de simple précision d'un bloc de registre source par les valeurs 128-bits spécifié et retourne le résultat.

Algorithme

src_reg_id est l'index de 5 bits du registre vectoriel spécifié dans l'instruction en tant que registre src1.
MODULE NFMA_SS(vl, dest, k1, msrc, regs_loaded, src_base, posneg)
   tmpdestdest
   * reg[] est un tableau représentant le fichier registre SIMD.
   SI k1[0] OU pas d'écriture du masque ALORS
      BOUCLE POUR j ← 0 JUSQU'A regs_loaded - 1
         SI posneg = 0 ALORS
            tmpdest.single[0] ← RoundFPControl_MXCSR(tmpdest.single[0] - reg[src_base + j ].single[0] x msrc.single[j])
         SINON
            tmpdest.single[0] ← RoundFPControl_MXCSR(tmpdest.single[0] + reg[src_base + j ].single[0] x msrc.single[j])
         FIN SI
      FIN BOUCLE POUR j
   SINON SI remplit de zéro ALORS
      tmpdest.single[0] ← 0
   FIN SI
   desttmpdst
   dest[MAX_VL-1:VL] ← 0

MODULE V4FNMADDSS dest{k1}, src1, msrc
   vl = 128
   regs_loaded ← 4
   src_base ← src_reg_id ∩ ~3 * Pour l'opérande src1
   posneg ← 0 SI forme négative, SINON 1
   APPELER NFMA_SS(vl, dest, k1, msrc, regs_loaded, src_base, posneg)

Mnémonique

Instruction Opcode Description
V4FNMADDSS xmm1{k1}{z}, xmm2+3, m128 EVEX.DDS.LLIG.F2.0F38.W0 AB /r Cette instruction permet de multiplier négativement des valeurs scalaires réel de simple précision d'un bloc de registre source par les valeurs 128-bits spécifié et retourne le résultat.

Exceptions

Message Description
#UD Si le bit de diffusion EVEX est fixé sur 1.
#UD Si le MODRM.mod = 0b11.


Dernière mise à jour : Dimanche, le 23 avril 2017