From: Gabe Black Date: Sun, 21 Jun 2009 23:41:07 +0000 (-0700) Subject: ARM: Don't downconvert ExtMachInsts to MachInsts. X-Git-Tag: Calvin_Submission~267 X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=47e71d674a1db7349b6aa21df529267f4fe2a0e7;p=gem5.git ARM: Don't downconvert ExtMachInsts to MachInsts. --- diff --git a/src/arch/arm/isa/formats/basic.isa b/src/arch/arm/isa/formats/basic.isa index c961abe96..ffa6d2ad6 100644 --- a/src/arch/arm/isa/formats/basic.isa +++ b/src/arch/arm/isa/formats/basic.isa @@ -42,14 +42,14 @@ def template BasicDeclare {{ { public: /// Constructor. - %(class_name)s(MachInst machInst); + %(class_name)s(ExtMachInst machInst); %(BasicExecDeclare)s }; }}; // Basic instruction class constructor template. def template BasicConstructor {{ - inline %(class_name)s::%(class_name)s(MachInst machInst) : %(base_class)s("%(mnemonic)s", machInst, %(op_class)s) + inline %(class_name)s::%(class_name)s(ExtMachInst machInst) : %(base_class)s("%(mnemonic)s", machInst, %(op_class)s) { %(constructor)s; } diff --git a/src/arch/arm/isa/formats/macromem.isa b/src/arch/arm/isa/formats/macromem.isa index 36a43de5e..cdbb14efd 100644 --- a/src/arch/arm/isa/formats/macromem.isa +++ b/src/arch/arm/isa/formats/macromem.isa @@ -57,7 +57,7 @@ output header {{ writeback, loadop; - ArmMacroMemoryOp(const char *mnem, MachInst _machInst, OpClass __opClass, + ArmMacroMemoryOp(const char *mnem, ExtMachInst _machInst, OpClass __opClass, StaticInstPtr _eaCompPtr = nullStaticInstPtr, StaticInstPtr _memAccPtr = nullStaticInstPtr) : PredMacroOp(mnem, _machInst, __opClass), @@ -86,7 +86,7 @@ output header {{ loadop; int32_t disp8; - ArmMacroFPAOp(const char *mnem, MachInst _machInst, OpClass __opClass) + ArmMacroFPAOp(const char *mnem, ExtMachInst _machInst, OpClass __opClass) : PredMacroOp(mnem, _machInst, __opClass), puswl(PUSWL), prepost(PREPOST), up(UP), psruser(PSRUSER), writeback(WRITEBACK), loadop(LOADOP), @@ -113,7 +113,7 @@ output header {{ count; int32_t disp8; - ArmMacroFMOp(const char *mnem, MachInst _machInst, OpClass __opClass) + ArmMacroFMOp(const char *mnem, ExtMachInst _machInst, OpClass __opClass) : PredMacroOp(mnem, _machInst, __opClass), punwl(PUNWL), prepost(PREPOST), up(UP), n1bit(OPCODE_22), writeback(WRITEBACK), loadop(LOADOP), @@ -143,13 +143,13 @@ def template MacroStoreDeclare {{ { public: // Constructor - %(class_name)s(MachInst machInst); + %(class_name)s(ExtMachInst machInst); %(BasicExecDeclare)s }; }}; def template MacroStoreConstructor {{ - inline %(class_name)s::%(class_name)s(MachInst machInst) + inline %(class_name)s::%(class_name)s(ExtMachInst machInst) : %(base_class)s("%(mnemonic)s", machInst, %(op_class)s) { %(constructor)s; @@ -275,7 +275,7 @@ def template MacroStoreExecute {{ }}; def template MacroFPAConstructor {{ - inline %(class_name)s::%(class_name)s(MachInst machInst) + inline %(class_name)s::%(class_name)s(ExtMachInst machInst) : %(base_class)s("%(mnemonic)s", machInst, %(op_class)s) { %(constructor)s; @@ -317,7 +317,7 @@ def template MacroFPAConstructor {{ def template MacroFMConstructor {{ - inline %(class_name)s::%(class_name)s(MachInst machInst) + inline %(class_name)s::%(class_name)s(ExtMachInst machInst) : %(base_class)s("%(mnemonic)s", machInst, %(op_class)s) { %(constructor)s; diff --git a/src/arch/arm/isa/formats/mem.isa b/src/arch/arm/isa/formats/mem.isa index c8696cc7f..47381add6 100644 --- a/src/arch/arm/isa/formats/mem.isa +++ b/src/arch/arm/isa/formats/mem.isa @@ -57,7 +57,7 @@ output header {{ shift; /// Constructor - Memory(const char *mnem, MachInst _machInst, OpClass __opClass, + Memory(const char *mnem, ExtMachInst _machInst, OpClass __opClass, StaticInstPtr _eaCompPtr = nullStaticInstPtr, StaticInstPtr _memAccPtr = nullStaticInstPtr) : PredOp(mnem, _machInst, __opClass), @@ -134,7 +134,7 @@ def template LoadStoreDeclare {{ { public: /// Constructor - EAComp(MachInst machInst); + EAComp(ExtMachInst machInst); %(BasicExecDeclare)s }; @@ -146,7 +146,7 @@ def template LoadStoreDeclare {{ { public: /// Constructor - MemAcc(MachInst machInst); + MemAcc(ExtMachInst machInst); %(BasicExecDeclare)s }; @@ -154,7 +154,7 @@ def template LoadStoreDeclare {{ public: /// Constructor. - %(class_name)s(MachInst machInst); + %(class_name)s(ExtMachInst machInst); %(BasicExecDeclare)s @@ -176,7 +176,7 @@ def template CompleteAccDeclare {{ def template EACompConstructor {{ - inline %(class_name)s::EAComp::EAComp(MachInst machInst) + inline %(class_name)s::EAComp::EAComp(ExtMachInst machInst) : %(base_class)s("%(mnemonic)s (EAComp)", machInst, IntAluOp) { %(constructor)s; @@ -185,7 +185,7 @@ def template EACompConstructor {{ def template MemAccConstructor {{ - inline %(class_name)s::MemAcc::MemAcc(MachInst machInst) + inline %(class_name)s::MemAcc::MemAcc(ExtMachInst machInst) : %(base_class)s("%(mnemonic)s (MemAcc)", machInst, %(op_class)s) { %(constructor)s; @@ -194,7 +194,7 @@ def template MemAccConstructor {{ def template LoadStoreConstructor {{ - inline %(class_name)s::%(class_name)s(MachInst machInst) + inline %(class_name)s::%(class_name)s(ExtMachInst machInst) : %(base_class)s("%(mnemonic)s", machInst, %(op_class)s, new EAComp(machInst), new MemAcc(machInst)) { diff --git a/src/arch/arm/isa/formats/unknown.isa b/src/arch/arm/isa/formats/unknown.isa index 3d13ef616..2ad7a2506 100644 --- a/src/arch/arm/isa/formats/unknown.isa +++ b/src/arch/arm/isa/formats/unknown.isa @@ -43,7 +43,7 @@ output header {{ { public: /// Constructor - Unknown(MachInst _machInst) + Unknown(ExtMachInst _machInst) : ArmStaticInst("unknown", _machInst, No_OpClass) { // don't call execute() (which panics) if we're on a