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 />

VFMSUB132SS DEST, SRC2, SRC3<br />

DEST[31:0] RoundFPControl_MXCSR(DEST[31:0]*SRC3[31:0] - SRC2[31:0])<br />

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

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

VFMSUB213SS DEST, SRC2, SRC3<br />

DEST[31:0] RoundFPControl_MXCSR(SRC2[31:0]*DEST[31:0] - SRC3[31:0])<br />

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

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

VFMSUB231SS DEST, SRC2, SRC3<br />

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

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

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

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

VFMSUB132SS: __m128 _mm_fmsub_ss (__m128 a, __m128 b, __m128 c);<br />

VFMSUB213SS: __m128 _mm_fmsub_ss (__m128 a, __m128 b, __m128 c);<br />

VFMSUB231SS: __m128 _mm_fmsub_ss (__m128 a, __m128 b, __m128 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-33

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

Saved successfully!

Ooh no, something went wrong!