Assembleur 80x86 | VFMADDSUB213PD |
---|---|
FMA (INTEL) | Fused Multiply-Alternating Add/Subtract of Packed Double-Precision Floating-Point Values |
Syntaxe
VFMADDSUB213PD 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, ajoute la précision infinie intermédiaire impaire et soustrait 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 |
---|---|---|
VFMADDSUB213PD xmm0,xmm1, xmm2/m128 | (VEX.DDS.128) 66h 0Fh 38h W1 A6h /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, ajoute la précision infinie intermédiaire impaire et soustrait 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). |
VFMADDSUB213PD ymm0,ymm1, ymm2/m256 | (VEX.DDS.256) 66h 0Fh 38h W1 A6h /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, ajoute la précision infinie intermédiaire impaire et soustrait 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