Section courante

A propos

Section administrative du site

Assembleur 80x86

VFNMADD132PS

FMA (INTEL) Fused Negative Multiply-Add of Packed Single-Precision Floating-Point Values

Syntaxe

VFNMADD132PS destination, source2, source3

Description

Cette instruction permet d'effectuer la multiplication de quatre ou huit paquets de valeur réel de simple précision d'un premier opérande source avec les quatre ou huit paquets de valeurs réels de simple précision du troisième opérande source, ajoute la précision infinie intermédiaire négative au résultat de quatre ou huit paquets dans le deuxième opérande source, effectue l'arrondissement et entrepose le résultat de quatre ou huit paquets de valeurs réel de simple précision dans un opérande de destination (premier opérande source).

Algorithme

SI VEX.128 ALORS
   MAXVL ← 4
SINON SI VEX.256 ALORS
   MAXVL ← 8
FIN SI
BOUCLE POUR i ← 0 JUSQU'A MAXVL-1
   n ← 32 x i
   destination(n+31..n) ← RoundFPControl_MXCSR(- (destination(n+31..n) x source3(n+31..n)) + source2(n+31..n))
FIN BOUCLE POUR
SI VEX.128 ALORS
   destination(255..128) ← 0
FIN SI

Mnémonique

Instruction Opcode Description
VFNMADD132PS xmm0,xmm1, xmm2/m128 (VEX.DDS.128) 66h 0Fh 38h W0 9Ch /r Cette instruction permet d'effectuer la multiplication de quatre ou huit paquets de valeur réel de simple précision d'un premier opérande source avec les quatre ou huit paquets de valeurs réels de simple précision du troisième opérande source, ajoute la précision infinie intermédiaire négative au résultat de quatre ou huit paquets dans le deuxième opérande source, effectue l'arrondissement et entrepose le résultat de quatre ou huit paquets de valeurs réel de simple précision dans un opérande de destination (premier opérande source).
VFNMADD132PS ymm0,ymm1, ymm2/m256 (VEX.DDS.256) 66h 0Fh 38h W0 9Ch /r Cette instruction permet d'effectuer la multiplication de quatre ou huit paquets de valeur réel de simple précision d'un premier opérande source avec les quatre ou huit paquets de valeurs réels de simple précision du troisième opérande source, ajoute la précision infinie intermédiaire négative au résultat de quatre ou huit paquets dans le deuxième opérande source, effectue l'arrondissement et entrepose le résultat de quatre ou huit paquets de valeurs réel de simple précision dans un opérande de destination (premier opérande source).


Dernière mise à jour : Lundi, le 8 septembre 2014