Software Optimization Guide for AMD64 Processors

25112 Rev. 3.06 September 2005

Table 19. SSE2 Instructions (Continued)

 

 

Encoding

 

 

Latency

Throughput

 

 

 

 

 

 

 

 

Syntax

 

 

 

 

Decode

FPU

 

 

Note

Prefix

First

2nd

 

 

 

ModRM byte

type

pipe(s)

 

 

 

 

 

 

 

byte

byte

byte

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

PUNPCKHQDQ

66h

0Fh

6Dh

 

Double

FADD/

2

1/1

 

xmmreg1, xmmreg2

 

 

 

 

 

FMUL

 

 

 

 

 

 

 

 

 

 

 

 

 

PUNPCKHQDQ

66h

0Fh

6Dh

 

Double

FADD/

4

1/1

 

xmmreg, mem128

 

 

 

 

 

FMUL

 

 

 

 

 

 

 

 

 

 

 

 

 

PUNPCKHWD

66h

0Fh

69h

 

Double

FADD/

2

1/1

 

xmmreg1, xmmreg2

 

 

 

 

 

FMUL

 

 

 

 

 

 

 

 

 

 

 

 

 

PUNPCKHWD xmmreg,

66h

0Fh

69h

 

Double

FADD/

4

1/1

 

mem128

 

 

 

 

 

FMUL

 

 

 

 

 

 

 

 

 

 

 

 

 

PUNPCKLBW

66h

0Fh

60h

 

Double

FADD/

2

1/1

 

xmmreg1, xmmreg2

 

 

 

 

 

FMUL

 

 

 

 

 

 

 

 

 

 

 

 

 

PUNPCKLBW xmmreg,

66h

0Fh

60h

 

Double

FADD/

4

1/1

 

mem128

 

 

 

 

 

FMUL

 

 

 

 

 

 

 

 

 

 

 

 

 

PUNPCKLDQ

66h

0Fh

62h

 

Double

FADD/

2

1/1

 

xmmreg1, xmmreg2

 

 

 

 

 

FMUL

 

 

 

 

 

 

 

 

 

 

 

 

 

PUNPCKLDQ xmmreg,

66h

0Fh

62h

 

Double

FADD/

4

1/1

 

mem128

 

 

 

 

 

FMUL

 

 

 

 

 

 

 

 

 

 

 

 

 

PUNPCKLQDQ

66h

0Fh

6C

 

DirectPath

FADD/

2

2/1

 

xmmreg1, xmmreg2

 

 

 

 

 

FMUL

 

 

 

 

 

 

 

 

 

 

 

 

 

PUNPCKLQDQ

66h

0Fh

6C

 

DirectPath

FADD/

4

2/1

 

xmmreg, mem128

 

 

 

 

 

FMUL/

 

 

 

 

 

 

 

 

 

FSTORE

 

 

 

 

 

 

 

 

 

 

 

 

 

PUNPCKLWD

66h

0Fh

61h

 

Double

FADD/

2

1/1

 

xmmreg1, xmmreg2

 

 

 

 

 

FMUL

 

 

 

 

 

 

 

 

 

 

 

 

 

PUNPCKLWD xmmreg,

66h

0Fh

61h

 

Double

FADD/

4

1/1

 

mem128

 

 

 

 

 

FMUL

 

 

 

 

 

 

 

 

 

 

 

 

 

PXOR xmmreg1,

66h

0Fh

EFh

 

Double

FADD/

2

1/1

 

xmmreg2

 

 

 

 

 

FMUL

 

 

 

 

 

 

 

 

 

 

 

 

 

PXOR xmmreg,

66h

0Fh

EFh

 

Double

FADD/

4

1/1

 

mem128

 

 

 

 

 

FMUL

 

 

 

 

 

 

 

 

 

 

 

 

 

SHUFPD xmmreg1,

66h

0Fh

C6h

 

VectorPath

~

4

 

 

xmmreg2, imm8

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

SHUFPD xmmreg,

66h

0Fh

C6h

 

VectorPath

~

6

 

 

mem128, imm8

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

SQRTPD xmmreg1,

66h

0Fh

51h

 

Double

FMUL

51

1/48

 

xmmreg2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

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.

340

Instruction Latencies

Appendix C

Page 356
Image 356
AMD 250 manual 340