03.03.2013 Views

4 Instruction tables - Agner Fog

4 Instruction tables - Agner Fog

4 Instruction tables - Agner Fog

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Pentium M<br />

CALL near 4 1 1 1 1 2<br />

CALL far 32 27 1 2 2 27<br />

CALL r 4 1 2 1 1 9<br />

CALL m(near) 4 1 1 1 1 2<br />

CALL m(far) 35 29 2 2 2 30<br />

RETN 2 1 2 1 2<br />

RETN i 3 1 1 1 2<br />

RETF 27 24 3 30<br />

RETF i 27 24 3 30<br />

BOUND r,m 15 7 6 2 8<br />

INTO 5 5 4<br />

String instructions<br />

LODS 2 2 4<br />

REP LODS 6n 10+6n 0.5<br />

STOS 3 1 1 1 1<br />

REP STOS 5n ca. 5n a) 0.7<br />

MOVS 6 1 3 1 1 0.7<br />

REP MOVS 6n ca. 6n a) 0.5<br />

SCAS 3 1 2 1.3<br />

REP(N)E SCAS 7n 12+7n 0.6<br />

CMPS 6 4 2 0.7<br />

REP(N)E CMPS 9n 12+9n 0.5<br />

Other<br />

NOP (90) 1 1 0.5<br />

Long NOP (0F 1F) 1 1 1<br />

PAUSE 2 2<br />

CLI 9<br />

STI 17<br />

ENTER i,0 12 10 1 1<br />

ENTER a,b ca. 18 +4b b-1 2b<br />

LEAVE 3 2 1<br />

CPUID 38-59 38-59 ca. 130<br />

RDTSC<br />

Notes:<br />

13 13 42<br />

a)<br />

Faster under certain conditions: see manual 3: "The microarchitecture of Intel,<br />

AMD and VIA CPUs".<br />

b) Has an implicit LOCK prefix.<br />

c)<br />

High values are typical, low values are for round divisors. Core Solo/Duo is<br />

more efficient than Pentium M in cases with round values that allow an<br />

early-out algorithm.<br />

Floating point x87 instructions<br />

<strong>Instruction</strong> Operands μops μops unfused domain Latency<br />

fused<br />

domain p0 p1 p01 p2 p3 p4<br />

Move instructions<br />

Page 74<br />

Reciprocal<br />

through<br />

put

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!