3dnow!™ instruction set, Table 15-10: 3dnow!™ instruction reference, A.6.6 3dn ow!™ instruction set – AMD SimNow Simulator 4.4.5 User Manual
Page 236: Amd confidential user manual november 21

AMD Confidential
User Manual
November 21
st
, 2008
224
Appendix A
Instruction
Supported
Mnemonic
Opcode
Description
CVTPD2PI mmx,xmm2/m128 66 0F 2D /r
Converts
packed
double-precision
floating-point
values
in
an
XMM
register or 128-bit memory location to
packed doubleword integers values in
the destination MMX™ register.
CVTPI2PD xmm,mmx/m64
66 0F 2A /r
Converts two packed doubleword integer
values in a MMX™ register or 64-bit
memory location to two packed double-
precision floating-point values in the
destination XMM register.
CVTPI2PS mmx,xmm2/m128 0F 2A /r
Converts
packed
doubleword
integer
values in a MMX™ register or 64-bit
memory location to single-precision
floating-point
values
in
the
destination XMM register.
A.6.6 3DN
ow!™ Instruction Set
This chapter describes the 3DNow! Instruction Set that the simulator supports and
simulates. 3DNow! Technology is a group of new instructions that opens the traditional
processing bottlenecks for floating-point-intensive and multimedia applications.
Instruction
Supported
Mnemonic
Opcode
Description
FEMMS
0F 0E
Fast Enter/Exit of the MMX or
floating-point state.
PAVGUSB mmreg1,mmreg2/m64
0F 0F /BF
Average of unsigned packed 8-bit
values.
PF2ID mmreg1,mmreg2/m64
0F 0F /1D
Converts
packed
floating-point
operand or packed 32-bit integer.
PFACC mmreg1,mmreg2/m64
0F 0F /AE Floating-point accumulate.
PFADD mmreg1,mmreg2/m64
0F 0F /9E Packed, floating-point addition.
PFCMPEQ mmreg1,mmreg2/m64
0F 0F /B0
Packed
floating-point
comparison,
equal to.
PFCMPPGE mmreg1,mmreg2/m64
0F 0F /90
Packed
floating-point
comparison,
greater than or equal to.
PFCMPGT mmreg1,mmreg2/m64
0F 0F /A0
Packed
floating-point
comparison,
greater than.
PFMAX mmreg1,mmreg2/m64
0F 0F /A4 Packed floating-point maximum.
PFMIN mmreg1,mmreg2/m64
0F 0F /94 Packed floating-point minimum.
PFMUL mmreg1,mmreg2/m64
0F 0F /B4
Packed
floating-point
multiplication.
PFRCP mmreg1,mmreg2/m64
0F 0F /96 Packed floating-point approximation.
PFRCPIT1 mmreg1,mmreg2/m64
0F 0F /A6
Packed
floating-point
reciprocal,
first iteration step.
PFRCPIT2 mmreg1,mmreg2/m64
0F 0F /B6
Packed
floating-point
reciprocal,
second iteration step.
PFRSQIT1 mmreg1,mmreg2/m64
0F 0F /A7
Packed
floating-point
reciprocal,
square root, first iteration step.
PFRSQRT mmreg1,mmreg2/m64
0F 0F /97
Packed
floating-point
reciprocal,
square root approximation.
PFSUB mmreg1,mmreg2/m64
0F 0F /9A Packed, floating-point subtraction.
PFSUBR mmreg1,mmreg2/m64
0F 0F /AA
Packed,
floating-point
reverse
subtraction.
PI2FD mmreg1,mmreg2/m64
0F 0F /0D
Packed 32-bit integer to floating-
point conversion.
PMULHRW mmreg1,mmreg2/m64
0F 0F /B7
Multiply signed packed 16-bit values
with rounding and store the high 16
bits.
PREFETCH/PREFETCHW
0F 0D
Prefetch processor cache line into
L1 data cache (Dcache).
Table 15-10: 3DNow!™ Instruction Reference