Itanium(R) processor topicFloating-point Parallel Multiply Add Instruction

fpma

Operation Font Conventions

Instruction Type F

Format

(qp) fpma.sf f1 = f3, f4, f2


Description

The pair of products of the pairs of single precision values in the significand fields of f3 and FR f4 are computed to infinite precision and then the pair of single precision values in the significand field of FR f2 is added to these products, again in infinite precision. The resulting values are then rounded to single precision using the rounding mode specified by FPSR.sf.rc. The pair of rounded results are stored in the significand field of FR f1. The exponent field of FR f1 is set to the biased exponent for 2.063 (0x1003E) and the sign field of FR f1 is set to positive (0).

If any of FR f3, FR f4, or FR f2 is a NaTVal, a NaTVal is stored in FR f1 instead of the computed results.

Notes:

Related Topics:

add - Add Instruction

addp - Add Pointer Instruction

and - Logical AND Instruction

andcm - And Complement Instruction

fabs - Floating-point Absolute Value Instruction

fadd - Floating-point Add Instruction

famax - Floating-point Absolute Maximum Instruction

famin - Floating-point Absolute Minimum Instruction

fand - Floating-point AND Instruction

fchkf - Floating-point Check Flags Instruction

fclass - Floating-point Class Instruction

fclrf - Floating-point Clear Flags Instruction

fcmp - Floating-point Compare Instruction

fcvt.xf - Convert Signed Integer to Floating-point Instruction

Floating-Point Arithmetic Instructions

Floating-Point Instructions

Floating-Point Memory Access Instructions

Floating-Point Non-Arithmetic Instructions

Floating-Point Pseudo-Operations

Floating-Point Register Transfer Instructions

Floating-Point Status Register (FPSR) Status Field Instructions

fma - Floating-point Multiply Add Instruction

fmax - Floating-point Maximum Instruction

fmerge - Floating-point Merge Instruction

fmin - Floating-point Minimum Instruction

fmpy - Floating-point Multiply Instruction

fms - Floating-point Multiply Subtract Instruction

fneg - Floating-point Negate Instruction

fnma - Floating-point Negative Multiply Add Instruction

fnmpy - Floating-point Negative Multiply Instruction

fnorm - Floating-point Normalize Instruction

for - Floating-point OR Instruction

fpabs - Floating-point Parallel Absolute Value Instruction

fpack - Floating-point Pack Instruction

fpamax - Floating-point Parallel Absolute Value Maximum Instruction

fpamin - Floating-point Parallel Absolute Value Minimum Instruction

fpcmp - Floating-point Parallel Compare Instruction

fpcvt.fx - Convert Parallel Floating-point to Integer Instruction

fcvt.xuf - Convert Unsigned Integer to Floating-point Instruction

fpmax - Floating-point Parallel Maximum Instruction

fpmerge - Floating-point Parallel Merge Instructions

fpmin - Floating-point Parallel Minimum Instruction

fpmpy - Floating-point Parallel Multiply Instruction

fpms - Floating-point Parallel Multiply Subtract Instruction

fpneg - Floating-point Parallel Negate Instruction

fpnegabs - Floating-point Parallel Negate Absolute Value Instruction

fpnma - Floating-point Parallel Negative Multiply Add Instruction

fpnmpy - Floating-point Parallel Negative Multiply Instruction

fprcpa - Floating-point Parallel Reciprocal Approximation Instruction

fprsqrta - Floating-point Parallel Reciprocal Square Root Approximation Instruction

frcpa - Floating-point Reciprocal Approximation Instruction

frsqrta - Floating-point Reciprocal Square Root Approximation Instruction

fselect - Floating-point Select Instruction

fsetc - Floating-point Set Controls Instruction

fsub - Floating-point Subtract Instruction

fswap - Floating-point Swap Instruction

fsxt - Floating-point Sign Extend Instruction

fwb - Flush Write Buffers Instruction

fxor - Floating-point Exclusive Or Instruction

getf - Get Floating-point Value or Exponent or Significand Instruction

Integer Multiply and Add (in FP Unit) Instructions

ldf - Floating-point Load Instruction

ldfp - Floating-point Load Pair Instruction

mov fr - Move Floating-point Register Instruction

mov gr - Move General Register Instruction

mov imm - Move Immediate Instruction

padd - Parallel Add Instruction

Parallel Arithmetic Instructions

Parallel Data Arrangement Instructions

Parallel Shift Instructions

pavg - Parallel Average Instruction

pavgsub - Parallel Average Subtract Instruction

pcmp - Parallel Compare Instruction

pmax - Parallel Maximum Instruction

pmin - Parallel Minimum Instruction

pmpy - Parallel Multiply Instruction

pmpyshr - Parallel Multiply and Shift Right Instruction

psad1 - Parallel Sum of Absolute Difference Instruction

pshl - Parallel Shift Left Instruction

pshladd - Parallel Shift Left and Add Instruction

pshr - Parallel Shift Right Instruction

pshradd - Parallel Shift Right and Add Instruction

psub - Parallel Subtract Instruction

setf - Set Floating-point Value, Exponent, or Significand Instruction

shladd - Shift Left and Add Instruction

shladdp - Shift Left and Add Pointer Instruction

stf - Floating-point Store Instruction

xma - Fixed-point Multiply Add Instruction