03.03.2013 Views

Intel® Architecture Instruction Set Extensions Programming Reference

Intel® Architecture Instruction Set Extensions Programming Reference

Intel® Architecture Instruction Set Extensions Programming Reference

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Operation<br />

INSTRUCTION SET REFERENCE - FMA<br />

In the operations below, "+", "-", and "*" symbols represent addition, subtraction, and multiplication operations<br />

with infinite precision inputs and outputs (no rounding).<br />

VFMADD132SD DEST, SRC2, SRC3<br />

DEST[63:0] RoundFPControl_MXCSR(DEST[63:0]*SRC3[63:0] + SRC2[63:0])<br />

DEST[127:64] DEST[127:64]<br />

DEST[VLMAX-1:128] 0<br />

VFMADD213SD DEST, SRC2, SRC3<br />

DEST[63:0] RoundFPControl_MXCSR(SRC2[63:0]*DEST[63:0] + SRC3[63:0])<br />

DEST[127:64] DEST[127:64]<br />

DEST[VLMAX-1:128] 0<br />

VFMADD231SD DEST, SRC2, SRC3<br />

DEST[63:0] RoundFPControl_MXCSR(SRC2[63:0]*SRC3[63:0] + DEST[63:0])<br />

DEST[127:64] DEST[127:64]<br />

DEST[VLMAX-1:128] 0<br />

Intel C/C++ Compiler Intrinsic Equivalent<br />

VFMADD132SD: __m128d _mm_fmadd_sd (__m128d a, __m128d b, __m128d c);<br />

VFMADD213SD: __m128d _mm_fmadd_sd (__m128d a, __m128d b, __m128d c);<br />

VFMADD231SD: __m128d _mm_fmadd_sd (__m128d a, __m128d b, __m128d c);<br />

SIMD Floating-Point Exceptions<br />

Overflow, Underflow, Invalid, Precision, Denormal<br />

Other Exceptions<br />

See Exceptions Type 3<br />

Ref. # 319433-014 6-9

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!