X86: Ignore the size part of XMM/MMX operands. The instructions know what they want.

This commit is contained in:
Gabe Black 2009-08-17 18:15:23 -07:00
parent 33cb4c2f09
commit 191590bcc4
9 changed files with 19 additions and 19 deletions

View file

@ -63,13 +63,13 @@ def macroop ADDSD_XMM_XMM {
}; };
def macroop ADDSD_XMM_M { def macroop ADDSD_XMM_M {
ldfp ufp1, seg, sib, disp ldfp ufp1, seg, sib, disp, dataSize=8
addfp xmml, xmml, ufp1 addfp xmml, xmml, ufp1
}; };
def macroop ADDSD_XMM_P { def macroop ADDSD_XMM_P {
rdip t7 rdip t7
ldfp ufp1, seg, riprel, disp ldfp ufp1, seg, riprel, disp, dataSize=8
addfp xmml, xmml, ufp1 addfp xmml, xmml, ufp1
}; };
''' '''

View file

@ -63,13 +63,13 @@ def macroop DIVSD_XMM_XMM {
}; };
def macroop DIVSD_XMM_M { def macroop DIVSD_XMM_M {
ldfp ufp1, seg, sib, disp ldfp ufp1, seg, sib, disp, dataSize=8
divfp xmml, xmml, ufp1 divfp xmml, xmml, ufp1
}; };
def macroop DIVSD_XMM_P { def macroop DIVSD_XMM_P {
rdip t7 rdip t7
ldfp ufp1, seg, riprel, disp ldfp ufp1, seg, riprel, disp, dataSize=8
divfp xmml, xmml, ufp1 divfp xmml, xmml, ufp1
}; };
''' '''

View file

@ -63,13 +63,13 @@ def macroop MULSD_XMM_XMM {
}; };
def macroop MULSD_XMM_M { def macroop MULSD_XMM_M {
ldfp ufp1, seg, sib, disp ldfp ufp1, seg, sib, disp, dataSize=8
mulfp xmml, xmml, ufp1 mulfp xmml, xmml, ufp1
}; };
def macroop MULSD_XMM_P { def macroop MULSD_XMM_P {
rdip t7 rdip t7
ldfp ufp1, seg, riprel, disp ldfp ufp1, seg, riprel, disp, dataSize=8
mulfp xmml, xmml, ufp1 mulfp xmml, xmml, ufp1
}; };
''' '''

View file

@ -63,13 +63,13 @@ def macroop SQRTSD_XMM_XMM {
}; };
def macroop SQRTSD_XMM_M { def macroop SQRTSD_XMM_M {
ldfp ufp1, seg, sib, disp ldfp ufp1, seg, sib, disp, dataSize=8
sqrtfp xmml, xmml, ufp1 sqrtfp xmml, xmml, ufp1
}; };
def macroop SQRTSD_XMM_P { def macroop SQRTSD_XMM_P {
rdip t7 rdip t7
ldfp ufp1, seg, riprel, disp ldfp ufp1, seg, riprel, disp, dataSize=8
sqrtfp xmml, xmml, ufp1 sqrtfp xmml, xmml, ufp1
}; };
''' '''

View file

@ -63,13 +63,13 @@ def macroop SUBSD_XMM_XMM {
}; };
def macroop SUBSD_XMM_M { def macroop SUBSD_XMM_M {
ldfp ufp1, seg, sib, disp ldfp ufp1, seg, sib, disp, dataSize=8
subfp xmml, xmml, ufp1 subfp xmml, xmml, ufp1
}; };
def macroop SUBSD_XMM_P { def macroop SUBSD_XMM_P {
rdip t7 rdip t7
ldfp ufp1, seg, riprel, disp ldfp ufp1, seg, riprel, disp, dataSize=8
subfp xmml, xmml, ufp1 subfp xmml, xmml, ufp1
}; };
''' '''

View file

@ -63,13 +63,13 @@ def macroop UCOMISD_XMM_XMM {
}; };
def macroop UCOMISD_XMM_M { def macroop UCOMISD_XMM_M {
ldfp ufp1, seg, sib, disp ldfp ufp1, seg, sib, disp, dataSize=8
compfp xmml, ufp1 compfp xmml, ufp1
}; };
def macroop UCOMISD_XMM_P { def macroop UCOMISD_XMM_P {
rdip t7 rdip t7
ldfp ufp1, seg, riprel, disp ldfp ufp1, seg, riprel, disp, dataSize=8
compfp xmml, ufp1 compfp xmml, ufp1
}; };
''' '''

View file

@ -63,13 +63,13 @@ def macroop CVTTSD2SI_R_XMM {
}; };
def macroop CVTTSD2SI_R_M { def macroop CVTTSD2SI_R_M {
ldfp ufp1, seg, sib, disp ldfp ufp1, seg, sib, disp, dataSize=8
cvtf_d2i reg, ufp1 cvtf_d2i reg, ufp1
}; };
def macroop CVTTSD2SI_R_P { def macroop CVTTSD2SI_R_P {
rdip t7 rdip t7
ldfp ufp1, seg, riprel, disp ldfp ufp1, seg, riprel, disp, dataSize=8
cvtf_d2i reg, ufp1 cvtf_d2i reg, ufp1
}; };
''' '''

View file

@ -62,16 +62,16 @@ def macroop XORPD_XMM_XMM {
}; };
def macroop XORPD_XMM_M { def macroop XORPD_XMM_M {
ldfp ufp1, seg, sib, disp ldfp ufp1, seg, sib, disp, dataSize=8
ldfp ufp2, seg, sib, "DISPLACEMENT + 8" ldfp ufp2, seg, sib, "DISPLACEMENT + 8", dataSize=8
xorfp xmml, xmml, ufp1 xorfp xmml, xmml, ufp1
xorfp xmmh, xmmh, ufp2 xorfp xmmh, xmmh, ufp2
}; };
def macroop XORPD_XMM_P { def macroop XORPD_XMM_P {
rdip t7 rdip t7
ldfp ufp1, seg, riprel, disp ldfp ufp1, seg, riprel, disp, dataSize=8
ldfp ufp2, seg, riprel, "DISPLACEMENT + 8" ldfp ufp2, seg, riprel, "DISPLACEMENT + 8", dataSize=8
xorfp xmml, xmml, ufp1 xorfp xmml, xmml, ufp1
xorfp xmmh, xmmh, ufp2 xorfp xmmh, xmmh, ufp2
}; };

View file

@ -139,7 +139,7 @@ let {{
opType = OpType(opTypes[0]) opType = OpType(opTypes[0])
opTypes.pop(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: if opType.size:
env.setSize(opType.size) env.setSize(opType.size)