03.03.2013 Views

4 Instruction tables - Agner Fog

4 Instruction tables - Agner Fog

4 Instruction tables - Agner Fog

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Nehalem<br />

FPREM 25 25 x x x float 14<br />

FPREM1 35 35 x x x float 19<br />

FRNDINT 17 17 x x x float 22<br />

Math<br />

FSCALE 24 24 x x x float 12<br />

FXTRACT 17 17 x x x float 13<br />

FSQRT 1 1 1 float ~27<br />

FSIN ~100 ~100 x x x float 40-100<br />

FCOS ~100 ~100 x x x float 40-100<br />

FSINCOS ~100 ~100 x x x float ~110<br />

F2XM1 19 19 x x x float 58<br />

FYL2X FYL2XP1 ~55 ~55 x x x float ~80<br />

FPTAN ~100 ~100 x x x float ~115<br />

FPATAN ~82 ~82 x x x float ~120<br />

Other<br />

FNOP 1 1 1 float 1<br />

WAIT 2 2 x x x float 1<br />

FNCLEX 3 3 x x float 17<br />

FNINIT ~190 ~190 x x x float 77<br />

Notes:<br />

d) Round divisors or low precision give low values.<br />

f) Resolved by register renaming. Generates no μops in the unfused domain.<br />

g) SSE3 instruction set.<br />

Integer MMX and XMM instructions<br />

<strong>Instruction</strong> Operands μops μops unfused domain DoLatenReci- fused<br />

maincyprocaldomain p015 p0 p1 p5 p2 p3 p4<br />

throughput<br />

Move instructions<br />

MOVD k) r32/64,(x)mm 1 1 x x x int 1+1 0.33<br />

MOVD k) m32/64,(x)mm 1 1 1 3 1<br />

MOVD k) (x)mm,r32/64 1 1 x x x ivec 1+1 0.33<br />

MOVD k) (x)mm,m32/64 1 1 2 1<br />

MOVQ (x)mm, (x)mm 1 1 x x x ivec 1 0.33<br />

MOVQ (x)mm,m64 1 1 2 1<br />

MOVQ m64, (x)mm 1 1 1 3 1<br />

MOVDQA xmm, xmm 1 1 x x x ivec 1 0.33<br />

MOVDQA xmm, m128 1 1 2 1<br />

MOVDQA m128, xmm 1 1 1 3 1<br />

MOVDQU xmm, m128 1 1 1 2 1<br />

MOVDQU m128, xmm 1 1 1 1 3 1<br />

LDDQU g) xmm, m128 1 1 1 2 1<br />

MOVDQ2Q mm, xmm 1 1 x x x ivec 1 0.33<br />

MOVQ2DQ xmm,mm 1 1 x x x ivec 1 0.33<br />

MOVNTQ m64,mm 1 1 1 ~270 2<br />

MOVNTDQ m128,xmm 1 1 1 ~270 2<br />

Page 112

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

Saved successfully!

Ooh no, something went wrong!