Assembleur 80x86 | VFMSUBADD231PS |
---|---|
FMA (INTEL) | Fused Multiply-Alternating Subtract/Add of Packed Single-Precision Floating-Point Values |
Syntaxe
VFMSUBADD231PS 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 deuxième opérande source avec les quatre ou huit paquets de valeurs réels de simple précision du troisième opérande source, soustrait la précision infinie intermédiaire impaire et ajoute la précision intermédiaire paire au résultat de quatre ou huit paquets dans le premier 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 ← 2 SINON SI VEX.256 ALORS MAXVL ← 4 FIN SI POUR BOUCLE i ← 0 JUSQU'A MAXVL -1 n ← 64 x i destination(n+31..n) ← RoundFPControl_MXCSR(SRC2(n+31..n) x SRC3(n+31..n) + destination(n+31..n)) destination(n+63..n+32) ← RoundFPControl_MXCSR(SRC2(n+63..n+32) x SRC3(n+63..n+32) - destination(n+63..n+32)) FIN SI SI VEX.128 ALORS DEST(255..128) ← 0 FIN SI |
Mnémonique
Instruction | Opcode | Description |
---|---|---|
VFMSUBADD231PS xmm0,xmm1, xmm2/m128 | (VEX.DDS.128) 66h 0Fh 38h W0 B7h /r | Cette instruction permet d'effectuer la multiplication de quatre ou huit paquets de valeur réel de simple précision d'un deuxième opérande source avec les quatre ou huit paquets de valeurs réels de simple précision du troisième opérande source, soustrait la précision infinie intermédiaire impaire et ajoute la précision intermédiaire paire au résultat de quatre ou huit paquets dans le premier 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). |
VFMSUBADD231PS ymm0,ymm1,ymm2/m256 | (VEX.DDS.256) 66h 0Fh 38h W0 B7h /r | Cette instruction permet d'effectuer la multiplication de quatre ou huit paquets de valeur réel de simple précision d'un deuxième opérande source avec les quatre ou huit paquets de valeurs réels de simple précision du troisième opérande source, soustrait la précision infinie intermédiaire impaire et ajoute la précision intermédiaire paire au résultat de quatre ou huit paquets dans le premier 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