4 Instruction tables - Agner Fog
4 Instruction tables - Agner Fog
4 Instruction tables - Agner Fog
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
Merom<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 Unit LatenReci- fused<br />
cyprocal Move instructions<br />
domain<br />
p015 p0 p1 p5 p2 p3 p4<br />
throughput<br />
MOVD k) r32/64,(x)mm 1 1 x x x int 2 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 int 2 0.5<br />
MOVD k) (x)mm,m32/64 1 1 int 2 1<br />
MOVQ (x)mm, (x)mm 1 1 x x x int 1 0.33<br />
MOVQ (x)mm,m64 1 1 int 2 1<br />
MOVQ m64, (x)mm 1 1 1 3 1<br />
MOVDQA xmm, xmm 1 1 x x x int 1 0.33<br />
MOVDQA xmm, m128 1 1 int 2 1<br />
MOVDQA m128, xmm 1 1 1 3 1<br />
MOVDQU m128, xmm 9 4 x x x 1 2 2 3-8 4<br />
MOVDQU xmm, m128 4 2 x x 2 int 2-8 2<br />
LDDQU g) xmm, m128 4 2 x x 2 int 2-8 2<br />
MOVDQ2Q mm, xmm 1 1 x x x int 1 0.33<br />
MOVQ2DQ xmm,mm 1 1 x x x int 1 0.33<br />
MOVNTQ m64,mm 1 1 1 2<br />
MOVNTDQ m128,xmm 1 1 1 2<br />
PACKSSWB/DW PACK- mm,mm 1 1 1 int 1 1<br />
USWB<br />
mm,m64 1 1 1 1 int 1<br />
PACKSSWB/DW PACK- xmm,xmm 3 3 flt→int 3 2<br />
USWB<br />
xmm,m128 4 3 1 int 2<br />
PUNPCKH/LBW/WD/DQ mm,mm 1 1 1 int 1 1<br />
PUNPCKH/LBW/WD/DQ mm,m64 1 1 1 1 int 1<br />
PUNPCKH/LBW/WD/DQ xmm,xmm 3 3 flt→int 3 2<br />
PUNPCKH/LBW/WD/DQ xmm,m128 4 3 1 int 2<br />
PUNPCKH/LQDQ xmm,xmm 1 1 int 1 1<br />
PUNPCKH/LQDQ xmm, m128 2 1 1 int 1<br />
PSHUFB h) mm,mm 1 1 1 int 1 1<br />
PSHUFB h) mm,m64 2 1 1 1 int 1<br />
PSHUFB h) xmm,xmm 4 4 int 3 2<br />
PSHUFB h) xmm,m128 5 4 1 int 2<br />
PSHUFW mm,mm,i 1 1 1 int 1 1<br />
PSHUFW mm,m64,i 2 1 1 1 int 1<br />
PSHUFD xmm,xmm,i 2 2 x x 1 flt→int 3 1<br />
PSHUFD xmm,m128,i 3 2 x x 1 1 int 1<br />
PSHUFL/HW xmm,xmm,i 1 1 1 int 1 1<br />
PSHUFL/HW xmm, m128,i 2 1 1 1 int 1<br />
PALIGNR h) mm,mm,i 2 2 x x x int 2 1<br />
PALIGNR h) mm,m64,i 2 2 x x x 1 int 1<br />
PALIGNR h) xmm,xmm,i 2 2 x x x int 2 1<br />
Page 88