mips: Convert MIPS to use local register index storage.

Change-Id: Ib691f3dd666c0877fc53b2f50dbaaf7bb4a6905b
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/36880
Reviewed-by: Gabe Black <gabe.black@gmail.com>
Maintainer: Gabe Black <gabe.black@gmail.com>
Tested-by: kokoro <noreply+kokoro@google.com>
This commit is contained in:
Gabe Black
2020-11-01 04:23:01 -08:00
parent 05f4da7600
commit 6cbacfbc49
2 changed files with 14 additions and 7 deletions

View File

@@ -35,19 +35,23 @@ def template BasicDeclare {{
*/
class %(class_name)s : public %(base_class)s
{
private:
%(reg_idx_arr_decl)s;
public:
/// Constructor.
%(class_name)s(MachInst machInst);
Fault execute(ExecContext *,
Trace::InstRecord *) const override;
/// Constructor.
%(class_name)s(MachInst machInst);
Fault execute(ExecContext *,
Trace::InstRecord *) const override;
};
}};
// Basic instruction class constructor template.
def template BasicConstructor {{
%(class_name)s::%(class_name)s(MachInst machInst) : %(base_class)s("%(mnemonic)s", machInst, %(op_class)s)
%(class_name)s::%(class_name)s(MachInst machInst) :
%(base_class)s("%(mnemonic)s", machInst, %(op_class)s)
{
%(constructor)s;
%(set_reg_idx_arr)s;
%(constructor)s;
}
}};

View File

@@ -129,8 +129,10 @@ def template LoadStoreDeclare {{
*/
class %(class_name)s : public %(base_class)s
{
public:
private:
%(reg_idx_arr_decl)s;
public:
/// Constructor.
%(class_name)s(ExtMachInst machInst);
@@ -146,6 +148,7 @@ def template LoadStoreConstructor {{
%(class_name)s::%(class_name)s(ExtMachInst machInst)
: %(base_class)s("%(mnemonic)s", machInst, %(op_class)s)
{
%(set_reg_idx_arr)s;
%(constructor)s;
}
}};