Section courante

A propos

Section administrative du site

Assembleur 80x86

VFMSUBADD213PD

FMA (INTEL) Fused Multiply-Alternating Subtract/Add of Packed Double-Precision Floating-Point Values

Syntaxe

VFMSUBADD213PD destination, source2, source3

Description

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

Algorithme

SI VEX.128 ALORS
   destination(63..0) ← RoundFPControl_MXCSR(source2(63:0) x destination(63..0) + source3(63..0))
   destination(127..64) ← RoundFPControl_MXCSR(source2(127..64) x destination(127..64) - source3(127..64))
   destination(255..128) ← 0
SINON SI VEX.256 ALORS
   destination(63..0) ← RoundFPControl_MXCSR(source2(63..0) x destination(63..0) + source3(63..0))
   destination(127..64) ← RoundFPControl_MXCSR(source2(127..64) x destination(127..64) - source3(127..64))
   destination(191..128) ← RoundFPControl_MXCSR(source2(191..128) x destination(191..128) + source3(191..128))
   destination(255..192) ← RoundFPControl_MXCSR(source2(255..192) x destination(255..192) - source3(255..192))
FIN SI

Mnémonique

Instruction Opcode Description
VFMSUBADD213PD xmm0,xmm1, xmm2/m128 VEX.DDS.128.66.0F38.W1 A7 /r Cette instruction permet d'effectuer la multiplication de deux ou quatre paquets de valeur réel de double précision d'un deuxième opérande source avec les deux ou quatres paquets de valeurs réels de double précision du premier opérande source, soustrait la précision infinie intermédiaire impaire et ajoute la précision intermédiaire paire au résultat de deux ou quatres paquets dans le troisième opérande source, effectue l'arrondissement et entrepose le résultat de deux ou quatre paquets de valeurs réel de double précision dans un opérande de destination (premier opérande source).
VFMSUBADD213PD ymm0,ymm1, ymm2/m256 VEX.DDS.256.66.0F38.W1 A7 /r Cette instruction permet d'effectuer la multiplication de deux ou quatre paquets de valeur réel de double précision d'un deuxième opérande source avec les deux ou quatres paquets de valeurs réels de double précision du premier opérande source, soustrait la précision infinie intermédiaire impaire et ajoute la précision intermédiaire paire au résultat de deux ou quatres paquets dans le troisième opérande source, effectue l'arrondissement et entrepose le résultat de deux ou quatre paquets de valeurs réel de double précision dans un opérande de destination (premier opérande source).


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