Make the data size used by regops overridable in the microassembly.
--HG-- extra : convert_revision : 84d850aa5340c9d02d03502704b063215f6e2140
This commit is contained in:
parent
387f00e3dd
commit
b949458d4c
1 changed files with 16 additions and 16 deletions
|
@ -237,12 +237,12 @@ let {{
|
||||||
|
|
||||||
class RegOp(X86Microop):
|
class RegOp(X86Microop):
|
||||||
abstract = True
|
abstract = True
|
||||||
def __init__(self, dest, src1, src2, flags):
|
def __init__(self, dest, src1, src2, flags, dataSize):
|
||||||
self.dest = dest
|
self.dest = dest
|
||||||
self.src1 = src1
|
self.src1 = src1
|
||||||
self.src2 = src2
|
self.src2 = src2
|
||||||
self.flags = flags
|
self.flags = flags
|
||||||
self.dataSize = "env.dataSize"
|
self.dataSize = dataSize
|
||||||
if flags is None:
|
if flags is None:
|
||||||
self.ext = 0
|
self.ext = 0
|
||||||
else:
|
else:
|
||||||
|
@ -265,12 +265,12 @@ let {{
|
||||||
|
|
||||||
class RegOpImm(X86Microop):
|
class RegOpImm(X86Microop):
|
||||||
abstract = True
|
abstract = True
|
||||||
def __init__(self, dest, src1, imm8, flags):
|
def __init__(self, dest, src1, imm8, flags, dataSize):
|
||||||
self.dest = dest
|
self.dest = dest
|
||||||
self.src1 = src1
|
self.src1 = src1
|
||||||
self.imm8 = imm8
|
self.imm8 = imm8
|
||||||
self.flags = flags
|
self.flags = flags
|
||||||
self.dataSize = "env.dataSize"
|
self.dataSize = dataSize
|
||||||
if flags is None:
|
if flags is None:
|
||||||
self.ext = 0
|
self.ext = 0
|
||||||
else:
|
else:
|
||||||
|
@ -346,8 +346,8 @@ let {{
|
||||||
class RegOpChild(RegOp):
|
class RegOpChild(RegOp):
|
||||||
mnemonic = name
|
mnemonic = name
|
||||||
className = Name
|
className = Name
|
||||||
def __init__(self, dest, src1, src2, flags=None):
|
def __init__(self, dest, src1, src2, flags=None, dataSize="env.dataSize"):
|
||||||
super(RegOpChild, self).__init__(dest, src1, src2, flags)
|
super(RegOpChild, self).__init__(dest, src1, src2, flags, dataSize)
|
||||||
|
|
||||||
microopClasses[name] = RegOpChild
|
microopClasses[name] = RegOpChild
|
||||||
|
|
||||||
|
@ -357,8 +357,8 @@ let {{
|
||||||
class RegOpChildImm(RegOpImm):
|
class RegOpChildImm(RegOpImm):
|
||||||
mnemonic = name + 'i'
|
mnemonic = name + 'i'
|
||||||
className = Name + 'Imm'
|
className = Name + 'Imm'
|
||||||
def __init__(self, dest, src1, src2, flags=None):
|
def __init__(self, dest, src1, src2, flags=None, dataSize="env.dataSize"):
|
||||||
super(RegOpChildImm, self).__init__(dest, src1, src2, flags)
|
super(RegOpChildImm, self).__init__(dest, src1, src2, flags, dataSize)
|
||||||
|
|
||||||
microopClasses[name + 'i'] = RegOpChildImm
|
microopClasses[name + 'i'] = RegOpChildImm
|
||||||
|
|
||||||
|
@ -390,8 +390,8 @@ let {{
|
||||||
class RegOpChild(RegOp):
|
class RegOpChild(RegOp):
|
||||||
mnemonic = name
|
mnemonic = name
|
||||||
className = Name
|
className = Name
|
||||||
def __init__(self, src1, src2, flags=None):
|
def __init__(self, src1, src2, flags=None, dataSize="env.dataSize"):
|
||||||
super(RegOpChild, self).__init__("NUM_INTREGS", src1, src2, flags)
|
super(RegOpChild, self).__init__("NUM_INTREGS", src1, src2, flags, dataSize)
|
||||||
|
|
||||||
microopClasses[name] = RegOpChild
|
microopClasses[name] = RegOpChild
|
||||||
|
|
||||||
|
@ -401,8 +401,8 @@ let {{
|
||||||
class RegOpChildImm(RegOpImm):
|
class RegOpChildImm(RegOpImm):
|
||||||
mnemonic = name
|
mnemonic = name
|
||||||
className = Name
|
className = Name
|
||||||
def __init__(self, src1, src2):
|
def __init__(self, src1, src2, flags=None, dataSize="env.dataSize"):
|
||||||
super(RegOpChildImm, self).__init__("NUM_INTREGS", src1, src2, None)
|
super(RegOpChildImm, self).__init__("NUM_INTREGS", src1, src2, flags, dataSize)
|
||||||
|
|
||||||
microopClasses[name + 'i'] = RegOpChildImm
|
microopClasses[name + 'i'] = RegOpChildImm
|
||||||
|
|
||||||
|
@ -417,8 +417,8 @@ let {{
|
||||||
name = mnemonic.lower()
|
name = mnemonic.lower()
|
||||||
|
|
||||||
class RegOpChild(RegOp):
|
class RegOpChild(RegOp):
|
||||||
def __init__(self, dest, src1 = "NUM_INTREGS"):
|
def __init__(self, dest, src1 = "NUM_INTREGS", dataSize="env.dataSize"):
|
||||||
super(RegOpChild, self).__init__(dest, src1, "NUM_INTREGS", None)
|
super(RegOpChild, self).__init__(dest, src1, "NUM_INTREGS", None, dataSize)
|
||||||
self.className = Name
|
self.className = Name
|
||||||
self.mnemonic = name
|
self.mnemonic = name
|
||||||
|
|
||||||
|
@ -433,8 +433,8 @@ let {{
|
||||||
name = mnemonic.lower()
|
name = mnemonic.lower()
|
||||||
|
|
||||||
class RegOpChild(RegOpImm):
|
class RegOpChild(RegOpImm):
|
||||||
def __init__(self, dest, src1, src2):
|
def __init__(self, dest, src1, src2, dataSize="env.dataSize"):
|
||||||
super(RegOpChild, self).__init__(dest, src1, src2, None)
|
super(RegOpChild, self).__init__(dest, src1, src2, None, dataSize)
|
||||||
self.className = Name
|
self.className = Name
|
||||||
self.mnemonic = name
|
self.mnemonic = name
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue