X86: Implement the mask move instructions.
This commit is contained in:
parent
75528a497c
commit
d9970f139a
3 changed files with 17 additions and 4 deletions
|
@ -1067,7 +1067,7 @@
|
|||
0x4: PMULUDQ(Pq,Qq);
|
||||
0x5: PMADDWD(Pq,Qq);
|
||||
0x6: PSADBW(Pq,Qq);
|
||||
0x7: WarnUnimpl::maskmovq_Pq_PRq();
|
||||
0x7: MASKMOVQ(Pq,PRq);
|
||||
default: UD2();
|
||||
}
|
||||
// operand size (0x66)
|
||||
|
@ -1078,7 +1078,7 @@
|
|||
0x4: PMULUDQ(Vo,Wo);
|
||||
0x5: PMADDWD(Vo,Wo);
|
||||
0x6: PSADBW(Vo,Wo);
|
||||
0x7: WarnUnimpl::maskmovdqu_Vo_VRo();
|
||||
0x7: MASKMOVDQU(Vo,VRo);
|
||||
default: UD2();
|
||||
}
|
||||
// repne (0xF2)
|
||||
|
|
|
@ -55,5 +55,13 @@
|
|||
|
||||
microcode = '''
|
||||
# MOVNTDQ
|
||||
# MASKMOVDQU
|
||||
|
||||
def macroop MASKMOVDQU_XMM_XMM {
|
||||
ldfp ufp1, ds, [1, t0, rdi], dataSize=8
|
||||
ldfp ufp2, ds, [1, t0, rdi], 8, dataSize=8
|
||||
maskmov ufp1, xmml, xmmlm, size=1
|
||||
maskmov ufp2, xmmh, xmmhm, size=1
|
||||
stfp ufp1, ds, [1, t0, rdi], dataSize=8
|
||||
stfp ufp2, ds, [1, t0, rdi], 8, dataSize=8
|
||||
};
|
||||
'''
|
||||
|
|
|
@ -55,5 +55,10 @@
|
|||
|
||||
microcode = '''
|
||||
# MOVNTQ
|
||||
# MASKMOVQ
|
||||
|
||||
def macroop MASKMOVQ_MMX_MMX {
|
||||
ldfp ufp1, ds, [1, t0, rdi], dataSize=8
|
||||
maskmov ufp1, mmx, mmxm, size=1
|
||||
stfp ufp1, ds, [1, t0, rdi], dataSize=8
|
||||
};
|
||||
'''
|
||||
|
|
Loading…
Reference in a new issue