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

Advertising
background image

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

Advertising