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) tmpdest ← dest * 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 dest ← tmpdst 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