summaryrefslogtreecommitdiff
path: root/src/arch/x86/isa/microops/regop.isa
diff options
context:
space:
mode:
authorGabe Black <gblack@eecs.umich.edu>2010-08-23 09:44:19 -0700
committerGabe Black <gblack@eecs.umich.edu>2010-08-23 09:44:19 -0700
commit9581562e653f6df810e40c076bc97d50daccf302 (patch)
treecda56ce9cae5dfed609c9d3704b6b47cae4a791a /src/arch/x86/isa/microops/regop.isa
parentf6182f948bdc05f3d0949627378ac5d15eea8e58 (diff)
downloadgem5-9581562e653f6df810e40c076bc97d50daccf302.tar.xz
X86: Get rid of the flagless microop constructor.
This will reduce clutter in the source and hopefully speed up compilation.
Diffstat (limited to 'src/arch/x86/isa/microops/regop.isa')
-rw-r--r--src/arch/x86/isa/microops/regop.isa54
1 files changed, 2 insertions, 52 deletions
diff --git a/src/arch/x86/isa/microops/regop.isa b/src/arch/x86/isa/microops/regop.isa
index c072eca22..4b0080d40 100644
--- a/src/arch/x86/isa/microops/regop.isa
+++ b/src/arch/x86/isa/microops/regop.isa
@@ -101,20 +101,12 @@ def template MicroRegOpImmExecute {{
def template MicroRegOpDeclare {{
class %(class_name)s : public %(base_class)s
{
- protected:
- void buildMe();
-
public:
%(class_name)s(ExtMachInst _machInst,
const char * instMnem, uint64_t setFlags,
InstRegIndex _src1, InstRegIndex _src2, InstRegIndex _dest,
uint8_t _dataSize, uint16_t _ext);
- %(class_name)s(ExtMachInst _machInst,
- const char * instMnem,
- InstRegIndex _src1, InstRegIndex _src2, InstRegIndex _dest,
- uint8_t _dataSize, uint16_t _ext);
-
%(BasicExecDeclare)s
};
}};
@@ -123,42 +115,17 @@ def template MicroRegOpImmDeclare {{
class %(class_name)s : public %(base_class)s
{
- protected:
- void buildMe();
-
public:
%(class_name)s(ExtMachInst _machInst,
const char * instMnem, uint64_t setFlags,
InstRegIndex _src1, uint8_t _imm8, InstRegIndex _dest,
uint8_t _dataSize, uint16_t _ext);
- %(class_name)s(ExtMachInst _machInst,
- const char * instMnem,
- InstRegIndex _src1, uint8_t _imm8, InstRegIndex _dest,
- uint8_t _dataSize, uint16_t _ext);
-
%(BasicExecDeclare)s
};
}};
def template MicroRegOpConstructor {{
-
- inline void %(class_name)s::buildMe()
- {
- %(constructor)s;
- }
-
- inline %(class_name)s::%(class_name)s(
- ExtMachInst machInst, const char * instMnem,
- InstRegIndex _src1, InstRegIndex _src2, InstRegIndex _dest,
- uint8_t _dataSize, uint16_t _ext) :
- %(base_class)s(machInst, "%(mnemonic)s", instMnem, 0,
- _src1, _src2, _dest, _dataSize, _ext,
- %(op_class)s)
- {
- buildMe();
- }
-
inline %(class_name)s::%(class_name)s(
ExtMachInst machInst, const char * instMnem, uint64_t setFlags,
InstRegIndex _src1, InstRegIndex _src2, InstRegIndex _dest,
@@ -167,28 +134,11 @@ def template MicroRegOpConstructor {{
_src1, _src2, _dest, _dataSize, _ext,
%(op_class)s)
{
- buildMe();
+ %(constructor)s;
}
}};
def template MicroRegOpImmConstructor {{
-
- inline void %(class_name)s::buildMe()
- {
- %(constructor)s;
- }
-
- inline %(class_name)s::%(class_name)s(
- ExtMachInst machInst, const char * instMnem,
- InstRegIndex _src1, uint8_t _imm8, InstRegIndex _dest,
- uint8_t _dataSize, uint16_t _ext) :
- %(base_class)s(machInst, "%(mnemonic)s", instMnem, 0,
- _src1, _imm8, _dest, _dataSize, _ext,
- %(op_class)s)
- {
- buildMe();
- }
-
inline %(class_name)s::%(class_name)s(
ExtMachInst machInst, const char * instMnem, uint64_t setFlags,
InstRegIndex _src1, uint8_t _imm8, InstRegIndex _dest,
@@ -197,7 +147,7 @@ def template MicroRegOpImmConstructor {{
_src1, _imm8, _dest, _dataSize, _ext,
%(op_class)s)
{
- buildMe();
+ %(constructor)s;
}
}};