};
def macroop ADDSD_XMM_M {
- ldfp ufp1, seg, sib, disp
+ ldfp ufp1, seg, sib, disp, dataSize=8
addfp xmml, xmml, ufp1
};
def macroop ADDSD_XMM_P {
rdip t7
- ldfp ufp1, seg, riprel, disp
+ ldfp ufp1, seg, riprel, disp, dataSize=8
addfp xmml, xmml, ufp1
};
'''
};
def macroop DIVSD_XMM_M {
- ldfp ufp1, seg, sib, disp
+ ldfp ufp1, seg, sib, disp, dataSize=8
divfp xmml, xmml, ufp1
};
def macroop DIVSD_XMM_P {
rdip t7
- ldfp ufp1, seg, riprel, disp
+ ldfp ufp1, seg, riprel, disp, dataSize=8
divfp xmml, xmml, ufp1
};
'''
};
def macroop MULSD_XMM_M {
- ldfp ufp1, seg, sib, disp
+ ldfp ufp1, seg, sib, disp, dataSize=8
mulfp xmml, xmml, ufp1
};
def macroop MULSD_XMM_P {
rdip t7
- ldfp ufp1, seg, riprel, disp
+ ldfp ufp1, seg, riprel, disp, dataSize=8
mulfp xmml, xmml, ufp1
};
'''
};
def macroop SQRTSD_XMM_M {
- ldfp ufp1, seg, sib, disp
+ ldfp ufp1, seg, sib, disp, dataSize=8
sqrtfp xmml, xmml, ufp1
};
def macroop SQRTSD_XMM_P {
rdip t7
- ldfp ufp1, seg, riprel, disp
+ ldfp ufp1, seg, riprel, disp, dataSize=8
sqrtfp xmml, xmml, ufp1
};
'''
};
def macroop SUBSD_XMM_M {
- ldfp ufp1, seg, sib, disp
+ ldfp ufp1, seg, sib, disp, dataSize=8
subfp xmml, xmml, ufp1
};
def macroop SUBSD_XMM_P {
rdip t7
- ldfp ufp1, seg, riprel, disp
+ ldfp ufp1, seg, riprel, disp, dataSize=8
subfp xmml, xmml, ufp1
};
'''
};
def macroop UCOMISD_XMM_M {
- ldfp ufp1, seg, sib, disp
+ ldfp ufp1, seg, sib, disp, dataSize=8
compfp xmml, ufp1
};
def macroop UCOMISD_XMM_P {
rdip t7
- ldfp ufp1, seg, riprel, disp
+ ldfp ufp1, seg, riprel, disp, dataSize=8
compfp xmml, ufp1
};
'''
};
def macroop CVTTSD2SI_R_M {
- ldfp ufp1, seg, sib, disp
+ ldfp ufp1, seg, sib, disp, dataSize=8
cvtf_d2i reg, ufp1
};
def macroop CVTTSD2SI_R_P {
rdip t7
- ldfp ufp1, seg, riprel, disp
+ ldfp ufp1, seg, riprel, disp, dataSize=8
cvtf_d2i reg, ufp1
};
'''
};
def macroop XORPD_XMM_M {
- ldfp ufp1, seg, sib, disp
- ldfp ufp2, seg, sib, "DISPLACEMENT + 8"
+ ldfp ufp1, seg, sib, disp, dataSize=8
+ ldfp ufp2, seg, sib, "DISPLACEMENT + 8", dataSize=8
xorfp xmml, xmml, ufp1
xorfp xmmh, xmmh, ufp2
};
def macroop XORPD_XMM_P {
rdip t7
- ldfp ufp1, seg, riprel, disp
- ldfp ufp2, seg, riprel, "DISPLACEMENT + 8"
+ ldfp ufp1, seg, riprel, disp, dataSize=8
+ ldfp ufp2, seg, riprel, "DISPLACEMENT + 8", dataSize=8
xorfp xmml, xmml, ufp1
xorfp xmmh, xmmh, ufp2
};
opType = OpType(opTypes[0])
opTypes.pop(0)
- if opType.tag not in ("I", "J"):
+ if opType.tag not in ("I", "J", "P", "PR", "Q", "V", "VR", "W"):
if opType.size:
env.setSize(opType.size)