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

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

PSUBQ mmreg, mem64

0Fh

FBh

 

 

DirectPath

FADD/

5

1/1

 

 

 

 

 

 

 

FMUL

 

 

 

 

 

 

 

 

 

 

 

 

 

PSUBQ xmmreg1,

66h

0Fh

FBh

 

Double

FADD/

2

1/1

 

xmmreg2

 

 

 

 

 

FMUL

 

 

 

 

 

 

 

 

 

 

 

 

 

PSUBQ xmmreg,

66h

0Fh

FBh

 

Double

FADD/

4

1/1

 

mem128

 

 

 

 

 

FMUL

 

 

 

 

 

 

 

 

 

 

 

 

 

PSUBSB xmmreg1,

66h

0Fh

E8h

 

Double

FADD/

2

1/1

 

xmmreg2

 

 

 

 

 

FMUL

 

 

 

 

 

 

 

 

 

 

 

 

 

PSUBSB xmmreg,

66h

0Fh

E8h

 

Double

FADD/

4

1/1

 

mem128

 

 

 

 

 

FMUL

 

 

 

 

 

 

 

 

 

 

 

 

 

PSUBSW xmmreg1,

66h

0Fh

E9h

 

Double

FADD/

2

1/1

 

xmmreg2

 

 

 

 

 

FMUL

 

 

 

 

 

 

 

 

 

 

 

 

 

PSUBSW xmmreg,

66h

0Fh

E9h

 

Double

FADD/

4

1/1

 

mem128

 

 

 

 

 

FMUL

 

 

 

 

 

 

 

 

 

 

 

 

 

PSUBUSB xmmreg1,

66h

0Fh

D8h

 

Double

FADD/

2

1/1

 

xmmreg2

 

 

 

 

 

FMUL

 

 

 

 

 

 

 

 

 

 

 

 

 

PSUBUSB xmmreg,

66h

0Fh

D8h

 

Double

FADD/

4

1/1

 

mem128

 

 

 

 

 

FMUL

 

 

 

 

 

 

 

 

 

 

 

 

 

PSUBUSW xmmreg1,

66h

0Fh

D9h

 

Double

FADD/

2

1/1

 

xmmreg2

 

 

 

 

 

FMUL

 

 

 

 

 

 

 

 

 

 

 

 

 

PSUBUSW xmmreg,

66h

0Fh

D9h

 

Double

FADD/

4

1/1

 

mem128

 

 

 

 

 

FMUL

 

 

 

 

 

 

 

 

 

 

 

 

 

PSUBW xmmreg1,

66h

0Fh

F9h

 

Double

FADD/

2

1/1

 

xmmreg2

 

 

 

 

 

FMUL

 

 

 

 

 

 

 

 

 

 

 

 

 

PSUBW xmmreg,

66h

0Fh

F9h

 

Double

FADD/

4

1/1

 

mem128

 

 

 

 

 

FMUL

 

 

 

 

 

 

 

 

 

 

 

 

 

PUNPCKHBW

66h

0Fh

68h

 

Double

FADD/

2

1/1

 

xmmreg1, xmmreg2

 

 

 

 

 

FMUL

 

 

 

 

 

 

 

 

 

 

 

 

 

PUNPCKHBW xmmreg,

66h

0Fh

68h

 

Double

FADD/

4

1/1

 

mem128

 

 

 

 

 

FMUL

 

 

 

 

 

 

 

 

 

 

 

 

 

PUNPCKHDQ

66h

0Fh

6Ah

 

Double

FADD/

2

1/1

 

xmmreg1, xmmreg2

 

 

 

 

 

FMUL

 

 

 

 

 

 

 

 

 

 

 

 

 

PUNPCKHDQ xmmreg,

66h

0Fh

6Ah

 

Double

FADD/

4

1/1

 

mem128

 

 

 

 

 

FMUL

 

 

 

 

 

 

 

 

 

 

 

 

 

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

339

Page 355
Image 355
AMD 250 manual 339, Fmul Punpckhbw, Fmul Punpckhdq