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.
Atom<br />
Floating point XMM instructions<br />
Operands μops Unit Latency Reciprocal<br />
Remarks<br />
Move instructions<br />
through-<br />
MOVAPS/D xmm,xmm 1 FP0/1 1 1/2<br />
MOVAPS/D xmm,m128 1 Mem 4 1<br />
MOVAPS/D m128,xmm 1 Mem 5 1<br />
MOVUPS/D xmm,m128 4 Mem 6 6<br />
MOVUPS/D m128,xmm 3 Mem 6 6<br />
MOVSS/D xmm,xmm 1 FP0/1 1 1/2<br />
MOVSS/D xmm,m32/64 1 Mem 4 1<br />
MOVSS/D m32/64,xmm 1 Mem 5 1<br />
MOVHPS/D MOVLPS/D xmm,m64 1 Mem 5 1<br />
MOVHPS/D m64,xmm 1 Mem 4 1<br />
MOVLPS/D m64,xmm 1 Mem 4 1<br />
MOVLHPS MOVHLPS xmm,xmm 1 FP0 1 1<br />
MOVMSKPS/D r32,xmm 1 4 2<br />
MOVNTPS/D m128,xmm 1 Mem ~500 3<br />
SHUFPS xmm,xmm,i 1 FP0 1 1<br />
SHUFPD xmm,xmm,i 1 FP0 1 1<br />
MOVDDUP xmm,xmm 1 FP0 1 1<br />
MOVSH/LDUP xmm,xmm 1 FP0 1 1<br />
UNPCKH/LPS xmm,xmm 1 FP0 1 1<br />
UNPCKH/LPD xmm,xmm 1 FP0 1<br />
Conversion<br />
CVTPD2PS xmm,xmm 4 11 11<br />
CVTSD2SS xmm,xmm 3 10 10<br />
CVTPS2PD xmm,xmm 4 7 6<br />
CVTSS2SD xmm,xmm 3 6 6<br />
CVTDQ2PS xmm,xmm 3 6 6<br />
CVT(T) PS2DQ xmm,xmm 3 6 6<br />
CVTDQ2PD xmm,xmm 3 7 6<br />
CVT(T)PD2DQ xmm,xmm 3 6 6<br />
CVTPI2PS xmm,mm 1 6 5<br />
CVT(T)PS2PI mm,xmm 1 4 1<br />
CVTPI2PD xmm,mm 3 7 6<br />
CVT(T) PD2PI mm,xmm 4 7 7<br />
CVTSI2SS xmm,r32 3 7 6<br />
CVT(T)SS2SI r32,xmm 3 10 8<br />
CVTSI2SD xmm,r32 3 8 6<br />
CVT(T)SD2SI r32,xmm 3 10 8<br />
Arithmetic<br />
ADDSS SUBSS xmm,xmm 1 FP1 5 1<br />
ADDSD SUBSD xmm,xmm 1 FP1 5 1<br />
ADDPS SUBPS xmm,xmm 1 FP1 5 1<br />
ADDPD SUBPD xmm,xmm 3 FP1 6 6<br />
ADDSUBPS xmm,xmm 1 FP1 5 1<br />
ADDSUBPD xmm,xmm 3 FP1 6 6<br />
Page 162