summaryrefslogtreecommitdiff
path: root/src/arch/x86
diff options
context:
space:
mode:
authorGabe Black <gblack@eecs.umich.edu>2007-07-18 16:26:17 -0700
committerGabe Black <gblack@eecs.umich.edu>2007-07-18 16:26:17 -0700
commitb949458d4c99ae03698c463fb293b1a245eb1e9f (patch)
treea47c142b10cd8d9c522e7539a8c3d8f63b7f710d /src/arch/x86
parent387f00e3ddf43f57fbca50657b698322421bf678 (diff)
downloadgem5-b949458d4c99ae03698c463fb293b1a245eb1e9f.tar.xz
Make the data size used by regops overridable in the microassembly.
--HG-- extra : convert_revision : 84d850aa5340c9d02d03502704b063215f6e2140
Diffstat (limited to 'src/arch/x86')
-rw-r--r--src/arch/x86/isa/microops/regop.isa32
1 files changed, 16 insertions, 16 deletions
diff --git a/src/arch/x86/isa/microops/regop.isa b/src/arch/x86/isa/microops/regop.isa
index dd196a50d..d36fcb773 100644
--- a/src/arch/x86/isa/microops/regop.isa
+++ b/src/arch/x86/isa/microops/regop.isa
@@ -237,12 +237,12 @@ let {{
class RegOp(X86Microop):
abstract = True
- def __init__(self, dest, src1, src2, flags):
+ def __init__(self, dest, src1, src2, flags, dataSize):
self.dest = dest
self.src1 = src1
self.src2 = src2
self.flags = flags
- self.dataSize = "env.dataSize"
+ self.dataSize = dataSize
if flags is None:
self.ext = 0
else:
@@ -265,12 +265,12 @@ let {{
class RegOpImm(X86Microop):
abstract = True
- def __init__(self, dest, src1, imm8, flags):
+ def __init__(self, dest, src1, imm8, flags, dataSize):
self.dest = dest
self.src1 = src1
self.imm8 = imm8
self.flags = flags
- self.dataSize = "env.dataSize"
+ self.dataSize = dataSize
if flags is None:
self.ext = 0
else:
@@ -346,8 +346,8 @@ let {{
class RegOpChild(RegOp):
mnemonic = name
className = Name
- def __init__(self, dest, src1, src2, flags=None):
- super(RegOpChild, self).__init__(dest, src1, src2, flags)
+ def __init__(self, dest, src1, src2, flags=None, dataSize="env.dataSize"):
+ super(RegOpChild, self).__init__(dest, src1, src2, flags, dataSize)
microopClasses[name] = RegOpChild
@@ -357,8 +357,8 @@ let {{
class RegOpChildImm(RegOpImm):
mnemonic = name + 'i'
className = Name + 'Imm'
- def __init__(self, dest, src1, src2, flags=None):
- super(RegOpChildImm, self).__init__(dest, src1, src2, flags)
+ def __init__(self, dest, src1, src2, flags=None, dataSize="env.dataSize"):
+ super(RegOpChildImm, self).__init__(dest, src1, src2, flags, dataSize)
microopClasses[name + 'i'] = RegOpChildImm
@@ -390,8 +390,8 @@ let {{
class RegOpChild(RegOp):
mnemonic = name
className = Name
- def __init__(self, src1, src2, flags=None):
- super(RegOpChild, self).__init__("NUM_INTREGS", src1, src2, flags)
+ def __init__(self, src1, src2, flags=None, dataSize="env.dataSize"):
+ super(RegOpChild, self).__init__("NUM_INTREGS", src1, src2, flags, dataSize)
microopClasses[name] = RegOpChild
@@ -401,8 +401,8 @@ let {{
class RegOpChildImm(RegOpImm):
mnemonic = name
className = Name
- def __init__(self, src1, src2):
- super(RegOpChildImm, self).__init__("NUM_INTREGS", src1, src2, None)
+ def __init__(self, src1, src2, flags=None, dataSize="env.dataSize"):
+ super(RegOpChildImm, self).__init__("NUM_INTREGS", src1, src2, flags, dataSize)
microopClasses[name + 'i'] = RegOpChildImm
@@ -417,8 +417,8 @@ let {{
name = mnemonic.lower()
class RegOpChild(RegOp):
- def __init__(self, dest, src1 = "NUM_INTREGS"):
- super(RegOpChild, self).__init__(dest, src1, "NUM_INTREGS", None)
+ def __init__(self, dest, src1 = "NUM_INTREGS", dataSize="env.dataSize"):
+ super(RegOpChild, self).__init__(dest, src1, "NUM_INTREGS", None, dataSize)
self.className = Name
self.mnemonic = name
@@ -433,8 +433,8 @@ let {{
name = mnemonic.lower()
class RegOpChild(RegOpImm):
- def __init__(self, dest, src1, src2):
- super(RegOpChild, self).__init__(dest, src1, src2, None)
+ def __init__(self, dest, src1, src2, dataSize="env.dataSize"):
+ super(RegOpChild, self).__init__(dest, src1, src2, None, dataSize)
self.className = Name
self.mnemonic = name