microcode = '''
def macroop PMULHW_XMM_XMM {
- mmuli xmml, xmml, xmmlm, size=2, ext=(0x2 | 0x8)
- mmuli xmmh, xmmh, xmmhm, size=2, ext=(0x2 | 0x8)
+ mmuli xmml, xmml, xmmlm, size=2, ext = "0x2 |" + MultHi
+ mmuli xmmh, xmmh, xmmhm, size=2, ext = "0x2 |" + MultHi
};
def macroop PMULHW_XMM_M {
ldfp ufp1, seg, sib, "DISPLACEMENT", dataSize=8
ldfp ufp2, seg, sib, "DISPLACEMENT + 8", dataSize=8
- mmuli xmml, xmml, ufp1, size=2, ext=(0x2 | 0x8)
- mmuli xmmh, xmmh, ufp2, size=2, ext=(0x2 | 0x8)
+ mmuli xmml, xmml, ufp1, size=2, ext = "0x2 |" + MultHi
+ mmuli xmmh, xmmh, ufp2, size=2, ext = "0x2 |" + MultHi
};
def macroop PMULHW_XMM_P {
rdip t7
ldfp ufp1, seg, riprel, "DISPLACEMENT", dataSize=8
ldfp ufp2, seg, riprel, "DISPLACEMENT + 8", dataSize=8
- mmuli xmml, xmml, ufp1, size=2, ext=(0x2 | 0x8)
- mmuli xmmh, xmmh, ufp2, size=2, ext=(0x2 | 0x8)
+ mmuli xmml, xmml, ufp1, size=2, ext = "0x2 |" + MultHi
+ mmuli xmmh, xmmh, ufp2, size=2, ext = "0x2 |" + MultHi
};
def macroop PMULLW_XMM_XMM {
};
def macroop PMULHUW_XMM_XMM {
- mmuli xmml, xmml, xmmlm, size=2, ext=8
- mmuli xmmh, xmmh, xmmhm, size=2, ext=8
+ mmuli xmml, xmml, xmmlm, size=2, ext = MultHi
+ mmuli xmmh, xmmh, xmmhm, size=2, ext = MultHi
};
def macroop PMULHUW_XMM_M {
ldfp ufp1, seg, sib, "DISPLACEMENT", dataSize=8
ldfp ufp2, seg, sib, "DISPLACEMENT + 8", dataSize=8
- mmuli xmml, xmml, ufp1, size=2, ext=8
- mmuli xmmh, xmmh, ufp2, size=2, ext=8
+ mmuli xmml, xmml, ufp1, size=2, ext = MultHi
+ mmuli xmmh, xmmh, ufp2, size=2, ext = MultHi
};
def macroop PMULHUW_XMM_P {
rdip t7
ldfp ufp1, seg, riprel, "DISPLACEMENT", dataSize=8
ldfp ufp2, seg, riprel, "DISPLACEMENT + 8", dataSize=8
- mmuli xmml, xmml, ufp1, size=2, ext=8
- mmuli xmmh, xmmh, ufp2, size=2, ext=8
+ mmuli xmml, xmml, ufp1, size=2, ext = MultHi
+ mmuli xmmh, xmmh, ufp2, size=2, ext = MultHi
};
def macroop PMULUDQ_XMM_XMM {
microcode = '''
def macroop PMULHW_MMX_MMX {
- mmuli mmx, mmx, mmxm, size=2, ext=(0x2 | 0x8)
+ mmuli mmx, mmx, mmxm, size=2, ext = "0x2 |" + MultHi
};
def macroop PMULHW_MMX_M {
ldfp ufp1, seg, sib, disp, dataSize=8
- mmuli mmx, mmx, ufp1, size=2, ext=(0x2 | 0x8)
+ mmuli mmx, mmx, ufp1, size=2, ext = "0x2 |" + MultHi
};
def macroop PMULHW_MMX_P {
rdip t7
ldfp ufp1, seg, riprel, disp, dataSize=8
- mmuli mmx, mmx, ufp1, size=2, ext=(0x2 | 0x8)
+ mmuli mmx, mmx, ufp1, size=2, ext = "0x2 |" + MultHi
};
def macroop PMULLW_MMX_MMX {
};
def macroop PMULHRW_MMX_MMX {
- mmuli mmx, mmx, mmxm, size=2, ext=(0x2 | 0x4 | 0x8)
+ mmuli mmx, mmx, mmxm, size=2, ext = "0x2 | 0x4 |" + MultHi
};
def macroop PMULHRW_MMX_M {
ldfp ufp1, seg, sib, disp, dataSize=8
- mmuli mmx, mmx, ufp1, size=2, ext=(0x2 | 0x4 | 0x8)
+ mmuli mmx, mmx, ufp1, size=2, ext = "0x2 | 0x4 |" + MultHi
};
def macroop PMULHRW_MMX_P {
rdip t7
ldfp ufp1, seg, riprel, disp, dataSize=8
- mmuli mmx, mmx, ufp1, size=2, ext=(0x2 | 0x4 | 0x8)
+ mmuli mmx, mmx, ufp1, size=2, ext = "0x2 | 0x4 |" + MultHi
};
def macroop PMULHUW_MMX_MMX {
- mmuli mmx, mmx, mmxm, size=2, ext=8
+ mmuli mmx, mmx, mmxm, size=2, ext = MultHi
};
def macroop PMULHUW_MMX_M {
ldfp ufp1, seg, sib, disp, dataSize=8
- mmuli mmx, mmx, ufp1, size=2, ext=8
+ mmuli mmx, mmx, ufp1, size=2, ext = MultHi
};
def macroop PMULHUW_MMX_P {
rdip t7
ldfp ufp1, seg, riprel, disp, dataSize=8
- mmuli mmx, mmx, ufp1, size=2, ext=8
+ mmuli mmx, mmx, ufp1, size=2, ext = MultHi
};
def macroop PMULUDQ_MMX_MMX {