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.

Merom<br />

Logic instructions<br />

PAND(N) POR PXOR (x)mm,(x)mm 1 1 x x x int 1 0.33<br />

PAND(N) POR PXOR (x)mm,m 1 1 x x x 1 int 1<br />

PSLL/RL/RAW/D/Q mm,mm/i 1 1 1 int 1 1<br />

PSLL/RL/RAW/D/Q mm,m64 1 1 1 1 int 1<br />

PSLL/RL/RAW/D/Q xmm,i 1 1 1 int 1 1<br />

PSLL/RL/RAW/D/Q xmm,xmm 2 2 x x int 2 1<br />

PSLL/RL/RAW/D/Q xmm,m128 3 2 x x 1 int 1<br />

PSLL/RLDQ xmm,i 2 2 x x int 2 1<br />

Other<br />

EMMS<br />

Notes:<br />

11 11 x x x float 6<br />

g) SSE3 instruction set.<br />

h) Supplementary SSE3 instruction set.<br />

MASM uses the name MOVD rather than MOVQ for this instruction even when<br />

k)<br />

moving 64 bits.<br />

Floating point XMM instructions<br />

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

cyprocal Move instructions<br />

domain<br />

p015 p0 p1 p5 p2 p3 p4<br />

throughput<br />

MOVAPS/D xmm,xmm 1 1 x x x int 1 0.33<br />

MOVAPS/D xmm,m128 1 1 int 2 1<br />

MOVAPS/D m128,xmm 1 1 1 3 1<br />

MOVUPS/D xmm,m128 4 2 1 1 2 int 2-4 2<br />

MOVUPS/D m128,xmm 9 4 x x x 1 2 2 3-4 4<br />

MOVSS/D xmm,xmm 1 1 x x x int 1 0.33<br />

MOVSS/D xmm,m32/64 1 1 int 2 1<br />

MOVSS/D m32/64,xmm 1 1 1 3 1<br />

MOVHPS/D MOVLPS/D xmm,m64 2 1 1 1 int 3 1<br />

MOVHPS/D m64,xmm 2 1 1 1 1 5 1<br />

MOVLPS/D m64,xmm 1 1 1 3 1<br />

MOVLHPS MOVHLPS xmm,xmm 1 1 1 float 1 1<br />

MOVMSKPS/D r32,xmm 1 1 1 float 1 1<br />

MOVNTPS/D m128,xmm 1 1 1 2-3<br />

SHUFPS xmm,xmm,i 3 3 3 flt→int 3 2<br />

SHUFPS xmm,m128,i 4 3 3 1 flt→int 2<br />

SHUFPD xmm,xmm,i 1 1 1 float 1 1<br />

SHUFPD xmm,m128,i 2 1 1 1 float 1<br />

MOVDDUP g) xmm,xmm 1 1 1 int 1 1<br />

MOVDDUP g) xmm,m64 2 1 1 1 int 1<br />

MOVSH/LDUP g) xmm,xmm 1 1 1 int 1 1<br />

MOVSH/LDUP g) xmm,m128 2 1 1 1 int 1<br />

UNPCKH/LPS xmm,xmm 3 3 3 flt→int 3 2<br />

UNPCKH/LPS xmm,m128 4 3 3 1 int 2<br />

UNPCKH/LPD xmm,xmm 1 1 1 float 1 1<br />

Page 90

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

Saved successfully!

Ooh no, something went wrong!