25112 Rev. 3.06 September 2005

Software Optimization Guide for AMD64 Processors

Table 19. SSE2 Instructions (Continued)

 

 

Encoding

 

 

Latency

Throughput

 

 

 

 

 

 

 

 

Syntax

 

 

 

 

Decode

FPU

 

 

Note

Prefix

First

2nd

 

 

 

ModRM byte

type

pipe(s)

 

 

 

 

 

 

 

byte

byte

byte

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

MOVHPD mem64,

66h

0Fh

17h

mm-xxx-xxx

DirectPath

FSTORE

2

 

 

xmmreg

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

MOVLPD xmmreg,

66h

0Fh

12h

mm-xxx-xxx

DirectPath

FADD/

2

 

 

mem64

 

 

 

 

 

FMUL/

 

 

 

 

 

 

 

 

 

FSTORE

 

 

 

 

 

 

 

 

 

 

 

 

 

MOVLPD mem64,

66h

0Fh

13h

mm-xxx-xxx

DirectPath

FSTORE

2

 

 

xmmreg

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

MOVMSKPD reg32/64,

66h

0Fh

50h

11-xxx-xxx

VectorPath

FADD

3

1/1

 

xmmreg

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

MOVNTDQ mem128,

66h

0Fh

E7h

mm-xxx-xxx

Double

FSTORE

3

 

2

xmmreg

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

MOVNTI mem32/64,

 

0Fh

C3h

mm-xxx-xxx

DirectPath

FSTORE

~

 

 

reg32/64

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

MOVNTPD mem128,

66h

0Fh

2Bh

mm-xxx-xxx

Double

FSTORE

3

 

2

xmmreg

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

MOVQ xmmreg1,

F3h

0Fh

7Eh

11-xxx-xxx

Double

FADD/

2

 

 

xmmreg2

 

 

 

 

 

FMUL

 

 

 

 

 

 

 

 

 

 

 

 

 

MOVQ xmmreg, mem64

F3h

0Fh

7Eh

mm-xxx-xxx

Double

FADD/

4

 

 

 

 

 

 

 

 

FMUL/

 

 

 

 

 

 

 

 

 

FSTORE

 

 

 

 

 

 

 

 

 

 

 

 

 

MOVQ xmmreg1,

66h

0Fh

D6h

11-xxx-xxx

Double

FADD/

2

 

 

xmmreg2

 

 

 

 

 

FMUL

 

 

 

 

 

 

 

 

 

 

 

 

 

MOVQ mem64, xmmreg

66h

0Fh

D6h

mm-xxx-xxx

DirectPath

FSTORE

4

 

 

 

 

 

 

 

 

 

 

 

 

MOVQ2DQ xmmreg,

F3h

0Fh

D6h

11-xxx-xxx

Double

FADD/

2

 

 

mmreg

 

 

 

 

 

FMUL

 

 

 

 

 

 

 

 

 

 

 

 

 

MOVSD xmmreg1,

F2h

0Fh

10h

11-xxx-xxx

DirectPath

FADD/

2

 

 

xmmreg2

 

 

 

 

 

FMUL

 

 

 

 

 

 

 

 

 

 

 

 

 

MOVSD xmmreg,

F2h

0Fh

10h

mm-xxx-xxx

Double

FADD/

2

 

 

mem64

 

 

 

 

 

FMUL/

 

 

 

 

 

 

 

 

 

FSTORE

 

 

 

 

 

 

 

 

 

 

 

 

 

MOVSD xmmreg1,

F2h

0Fh

11h

11-xxx-xxx

DirectPath

FADD/

2

 

 

xmmreg2

 

 

 

 

 

FMUL

 

 

 

 

 

 

 

 

 

 

 

 

 

MOVSD mem64,

F2h

0Fh

11h

mm-xxx-xxx

DirectPath

FSTORE

2

 

 

xmmreg

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Notes:

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

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

Appendix C

Instruction Latencies

331

Page 347
Image 347
AMD 250 manual 331