Software Optimization Guide for AMD64 Processors

25112 Rev. 3.06 September 2005

Table 18. SSE Instructions (Continued)

 

 

Encoding

Decode

 

 

 

Syntax

 

 

 

 

FPU pipe(s)

Latency

Note

Prefix

First

2nd

 

ModRM byte

type

 

 

 

 

 

byte

byte

byte

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

PEXTRW reg32/64,

0Fh

C5h

 

 

Double

-

4

4

mmreg, imm8

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

PINSRW mmreg,

0Fh

C4h

 

 

Double

-

9

4

reg32/64, imm8

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

PINSRW mmreg,

0Fh

C4h

 

 

DirectPath

-

4

4

mem16, imm8

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

PMAXSW mmreg1,

0Fh

EEh

 

11-xxx-xxx

DirectPath

FADD/FMUL

2

 

mmreg2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

PMAXSW mmreg,

0Fh

EEh

 

mm-xxx-xxx

DirectPath

FADD/FMUL

4

 

mem64

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

PMAXUB mmreg1,

0Fh

DEh

 

11-xxx-xxx

DirectPath

FADD/FMUL

2

 

mmreg2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

PMAXUB mmreg,

0Fh

DEh

 

mm-xxx-xxx

DirectPath

FADD/FMUL

4

 

mem64

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

PMINSW mmreg1,

0Fh

EAh

 

11-xxx-xxx

DirectPath

FADD/FMUL

2

 

mmreg2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

PMINSW mmreg,

0Fh

EAh

 

mm-xxx-xxx

DirectPath

FADD/FMUL

4

 

mem64

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

PMINUB mmreg1,

0Fh

DAh

 

11-xxx-xxx

DirectPath

FADD/FMUL

2

 

mmreg2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

PMINUB mmreg,

0Fh

DAh

 

mm-xxx-xxx

DirectPath

FADD/FMUL

4

 

mem64

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

PMOVMSKB reg32/64,

0Fh

D7h

 

 

VectorPath

-

3

4

mmreg

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

PMULHUW mmreg1,

0Fh

E4h

 

11-xxx-xxx

DirectPath

FMUL

3

 

mmreg2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

PMULHUW mmreg,

0Fh

E4h

 

mm-xxx-xxx

DirectPath

FMUL

5

 

mem64

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

PREFETCHNTA mem8

0Fh

18h

 

mm-000-xxx

DirectPath

~

~

5

 

 

 

 

 

 

 

 

 

Notes:

1. The low half of the result is available one cycle earlier than listed.

2. The second latency value indicates when the low half of the result becomes available.

3. The high half of the result is available one cycle earlier than listed.

4. The latency listed is the absolute minimum, while average latencies may be higher and are a function of internal pipeline conditions.

5. For the PREFETCHNTA/T0/T1/T2 instructions, the mem8 value refers to an address in the 64-byte line to be prefetched.

6. The 8-clock latency is only visible to younger stores that need to do an external write. The 2-clock latency is visible to the other stores and instructions.

7. This is the execution latency for the instruction. The time to complete the external write depends on the memory speed and the hardware implementation.

322

Instruction Latencies

Appendix C

Page 338
Image 338
AMD 250 manual 322, Mem64 Prefetchnta mem8 0Fh 18h Mm-000-xxx DirectPath