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

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

DIVPD xmmreg1,

66h

0Fh

5Eh

11-xxx-xxx

Double

FMUL

37

1/34

 

xmmreg2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

DIVPD xmmreg,

66h

0Fh

5Eh

mm-xxx-xxx

Double

FMUL

39

1/34

 

mem128

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

DIVSD xmmreg1,

F2h

0Fh

5Eh

11-xxx-xxx

DirectPath

FMUL

20

1/17

 

xmmreg2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

DIVSD xmmreg,

F2h

0Fh

5Eh

mm-xxx-xxx

DirectPath

FMUL

22

1/17

 

mem64

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

MASKMOVDQU

66h

0Fh

F7h

11-xxx-xxx

VectorPath

~

43

 

 

xmmreg1, xmmreg2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

MAXPD xmmreg1,

66h

0Fh

5Fh

11-xxx-xxx

Double

FADD

3

1/2

 

xmmreg2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

MAXPD xmmreg,

66h

0Fh

5Fh

mm-xxx-xxx

Double

FADD

5

1/2

 

mem128

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

MAXSD xmmreg1,

F2h

0Fh

5Fh

11-xxx-xxx

DirectPath

FADD

2

1/1

 

xmmreg2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

MAXSD xmmreg,

F2h

0Fh

5Fh

mm-xxx-xxx

DirectPath

FADD

4

1/1

 

mem64

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

MINPD xmmreg1,

66h

0Fh

5Dh

11-xxx-xxx

Double

FADD

3

1/2

 

xmmreg2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

MINPD xmmreg,

66h

0Fh

5Dh

mm-xxx-xxx

Double

FADD

5

1/2

 

mem128

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

MINSD xmmreg1,

F2h

0Fh

5Dh

11-xxx-xxx

DirectPath

FADD

2

1/1

 

xmmreg2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

MINSD xmmreg,

F2h

0Fh

5Dh

mm-xxx-xxx

DirectPath

FADD

4

1/1

 

mem64

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

MOVAPD xmmreg1,

66h

0Fh

28h

11-xxx-xxx

Double

FADD/

2

 

 

xmmreg2

 

 

 

 

 

FMUL

 

 

 

 

 

 

 

 

 

 

 

 

 

MOVAPD xmmreg,

66h

0Fh

28h

mm-xxx-xxx

Double

FADD/

2

 

 

mem128

 

 

 

 

 

FMUL/

 

 

 

 

 

 

 

 

 

FSTORE

 

 

 

 

 

 

 

 

 

 

 

 

 

MOVAPD xmmreg1,

66h

0Fh

29h

11-xxx-xxx

Double

FADD/

2

 

 

xmmreg2

 

 

 

 

 

FMUL

 

 

 

 

 

 

 

 

 

 

 

 

 

MOVAPD mem128,

66h

0Fh

29h

mm-xxx-xxx

Double

FSTORE

3

 

 

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

329

Page 345
Image 345
AMD 250 manual 329, Maskmovdqu