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

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

INSTRUCTION SET REFERENCE - FMA<br />

VFMSUB132PS/VFMSUB213PS/VFMSUB231PS — Fused Multiply-Subtract of Packed Single-<br />

Precision Floating-Point Values<br />

Opcode/<br />

<strong>Instruction</strong><br />

Description<br />

Op/<br />

En<br />

64/32<br />

-bit<br />

Mode<br />

CPUID<br />

Feature<br />

Flag<br />

Description<br />

VEX.DDS.128.66.0F38.W0 9A /r A V/V FMA Multiply packed single-precision floating-point values from xmm0<br />

and xmm2/mem, subtract xmm1 and put result in xmm0.<br />

VFMSUB132PS xmm0, xmm1,<br />

xmm2/m128<br />

VEX.DDS.128.66.0F38.W0 AA /r A V/V FMA Multiply packed single-precision floating-point values from xmm0<br />

and xmm1, subtract xmm2/mem and put result in xmm0.<br />

VFMSUB213PS xmm0, xmm1,<br />

xmm2/m128<br />

VEX.DDS.128.66.0F38.W0 BA /r A V/V FMA Multiply packed single-precision floating-point values from xmm1<br />

and xmm2/mem, subtract xmm0 and put result in xmm0.<br />

VFMSUB231PS xmm0, xmm1,<br />

xmm2/m128<br />

VEX.DDS.256.66.0F38.W0 9A /r A V/V FMA Multiply packed single-precision floating-point values from ymm0<br />

and ymm2/mem, subtract ymm1 and put result in ymm0.<br />

VFMSUB132PS ymm0, ymm1,<br />

ymm2/m256<br />

VEX.DDS.256.66.0F38.W0 AA /r A V/V FMA Multiply packed single-precision floating-point values from ymm0<br />

and ymm1, subtract ymm2/mem and put result in ymm0.<br />

VFMSUB213PS ymm0, ymm1,<br />

ymm2/m256<br />

VEX.DDS.256.66.0F38.0 BA /r A V/V FMA Multiply packed single-precision floating-point values from ymm1<br />

and ymm2/mem, subtract ymm0 and put result in ymm0.<br />

VFMSUB231PS ymm0, ymm1,<br />

ymm2/m256<br />

<strong>Instruction</strong> Operand Encoding<br />

Op/En Operand 1 Operand 2 Operand 3 Operand 4<br />

A ModRM:reg (r, w) VEX.vvvv (r) ModRM:r/m (r) NA<br />

Performs a set of SIMD multiply-subtract computation on packed single-precision floating-point values using three<br />

source operands and writes the multiply-subtract results in the destination operand. The destination operand is<br />

also the first source operand. The second operand must be a SIMD register. The third source operand can be a<br />

SIMD register or a memory location.<br />

VFMSUB132PS: Multiplies the four or eight packed single-precision floating-point values from the first source<br />

operand to the four or eight packed single-precision floating-point values in the third source operand. From the infinite<br />

precision intermediate result, subtracts the four or eight packed single-precision floating-point values in the<br />

second source operand, performs rounding and stores the resulting four or eight packed single-precision floatingpoint<br />

values to the destination operand (first source operand).<br />

VFMSUB213PS: Multiplies the four or eight packed single-precision floating-point values from the second source<br />

operand to the four or eight packed single-precision floating-point values in the first source operand. From the infinite<br />

precision intermediate result, subtracts the four or eight packed single-precision floating-point values in the<br />

third source operand, performs rounding and stores the resulting four or eight packed single-precision floatingpoint<br />

values to the destination operand (first source operand).<br />

VFMSUB231PS: Multiplies the four or eight packed single-precision floating-point values from the second source to<br />

the four or eight packed single-precision floating-point values in the third source operand. From the infinite precision<br />

intermediate result, subtracts the four or eight packed single-precision floating-point values in the first source<br />

Ref. # 319433-014 6-27

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

Saved successfully!

Ooh no, something went wrong!