ARM: Don't downconvert ExtMachInsts to MachInsts.
This commit is contained in:
@@ -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;
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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))
|
||||
{
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user