X86: Implement the MOVDDUP instruction.
This commit is contained in:
parent
cf9634a43f
commit
df1b3fdcfb
2 changed files with 17 additions and 2 deletions
|
@ -326,7 +326,7 @@
|
||||||
0x8: decode OPCODE_OP_BOTTOM3 {
|
0x8: decode OPCODE_OP_BOTTOM3 {
|
||||||
0x0: Inst::MOVSD(Vq,Wq);
|
0x0: Inst::MOVSD(Vq,Wq);
|
||||||
0x1: Inst::MOVSD(Wq,Vq);
|
0x1: Inst::MOVSD(Wq,Vq);
|
||||||
0x2: movddup_Vo_Wq();
|
0x2: Inst::MOVDDUP(Vo,Wq);
|
||||||
default: Inst::UD2();
|
default: Inst::UD2();
|
||||||
}
|
}
|
||||||
default: Inst::UD2();
|
default: Inst::UD2();
|
||||||
|
|
|
@ -54,7 +54,22 @@
|
||||||
# Authors: Gabe Black
|
# Authors: Gabe Black
|
||||||
|
|
||||||
microcode = '''
|
microcode = '''
|
||||||
# MOVDDUP
|
def macroop MOVDDUP_XMM_XMM {
|
||||||
|
movfp xmmh, xmmlm, dataSize=8
|
||||||
|
movfp xmml, xmmlm, dataSize=8
|
||||||
|
};
|
||||||
|
|
||||||
|
def macroop MOVDDUP_XMM_M {
|
||||||
|
ldfp xmml, seg, sib, disp, dataSize=8
|
||||||
|
movfp xmmh, xmml, dataSize=8
|
||||||
|
};
|
||||||
|
|
||||||
|
def macroop MOVDDUP_XMM_P {
|
||||||
|
rdip t7
|
||||||
|
ldfp xmml, seg, riprel, disp, dataSize=8
|
||||||
|
movfp xmmh, xmml, dataSize=8
|
||||||
|
};
|
||||||
|
|
||||||
# MOVSLDUP
|
# MOVSLDUP
|
||||||
# MOVSHDUP
|
# MOVSHDUP
|
||||||
'''
|
'''
|
||||||
|
|
Loading…
Reference in a new issue