X86: Implement MOVSS.

This commit is contained in:
Gabe Black 2009-08-17 20:25:14 -07:00
parent 179fd4e536
commit 7d4db7266e
2 changed files with 27 additions and 3 deletions

View file

@ -306,8 +306,8 @@
}
// repe (0xF3)
0x4: decode OPCODE_OP_BOTTOM3 {
0x0: WarnUnimpl::movss_Vd_Wd();
0x1: WarnUnimpl::movss_Wd_Vd();
0x0: MOVSS(Vd,Wd);
0x1: MOVSS(Wd,Vd);
0x2: WarnUnimpl::movsldup_Vo_Wo();
0x6: WarnUnimpl::movshdup_Vo_Wo();
default: UD2();

View file

@ -249,7 +249,31 @@ def macroop MOVLHPS_XMM_XMM {
movfp xmmh, xmmlm, dataSize=8
};
# MOVSS
def macroop MOVSS_XMM_XMM {
movfp xmml, xmmlm, dataSize=4
};
def macroop MOVSS_XMM_M {
lfpimm xmml, 0
lfpimm xmmh, 0
ldfp xmml, seg, sib, disp, dataSize=4
};
def macroop MOVSS_XMM_P {
rdip t7
lfpimm xmml, 0
lfpimm xmmh, 0
ldfp xmml, seg, riprel, disp, dataSize=4
};
def macroop MOVSS_M_XMM {
stfp xmml, seg, sib, disp, dataSize=4
};
def macroop MOVSS_P_XMM {
rdip t7
stfp xmml, seg, riprel, disp, dataSize=4
};
def macroop MOVSD_XMM_M {
# Zero xmmh