{}
std::string generateDisassembly(
- Addr pc, const Loader::SymbolTable *symtab) const;
+ Addr pc, const Loader::SymbolTable *symtab) const override;
};
// Conditionally Branch to a target computed with an immediate
{}
std::string generateDisassembly(
- Addr pc, const Loader::SymbolTable *symtab) const;
+ Addr pc, const Loader::SymbolTable *symtab) const override;
};
// Conditionally Branch to a target computed with a register
{}
std::string generateDisassembly(
- Addr pc, const Loader::SymbolTable *symtab) const;
+ Addr pc, const Loader::SymbolTable *symtab) const override;
};
// Branch to a target computed with an immediate and a register
{}
void
- advancePC(PCState &pcState) const
+ advancePC(PCState &pcState) const override
{
if (flags[IsLastMicroop]) {
pcState.uEnd();
{}
std::string
- generateDisassembly(Addr pc, const Loader::SymbolTable *symtab) const
+ generateDisassembly(Addr pc,
+ const Loader::SymbolTable *symtab) const override
{
std::stringstream ss;
this->printInst(ss, Memory::AddrMd_Offset);
{}
std::string
- generateDisassembly(Addr pc, const Loader::SymbolTable *symtab) const
+ generateDisassembly(Addr pc,
+ const Loader::SymbolTable *symtab) const override
{
std::stringstream ss;
this->printInst(ss, Memory::AddrMd_PreIndex);
{}
std::string
- generateDisassembly(Addr pc, const Loader::SymbolTable *symtab) const
+ generateDisassembly(Addr pc,
+ const Loader::SymbolTable *symtab) const override
{
std::stringstream ss;
this->printInst(ss, Memory::AddrMd_PostIndex);
{}
void
- advancePC(PCState &pcState) const
+ advancePC(PCState &pcState) const override
{
if (flags[IsLastMicroop]) {
pcState.uEnd();
}
void
- advancePC(PCState &pcState) const
+ advancePC(PCState &pcState) const override
{
if (flags[IsLastMicroop])
pcState.uEnd();
public:
IllegalExecInst(ExtMachInst _machInst);
- Fault execute(ExecContext *xc, Trace::InstRecord *traceData) const;
+ Fault execute(ExecContext *xc,
+ Trace::InstRecord *traceData) const override;
};
class DebugStep : public ArmStaticInst
public:
DebugStep(ExtMachInst _machInst);
- Fault execute(ExecContext *xc, Trace::InstRecord *traceData) const;
+ Fault execute(ExecContext *xc,
+ Trace::InstRecord *traceData) const override;
};
#endif
dest(_dest), imm1(_imm1), imm2(_imm2)
{}
std::string generateDisassembly(
- Addr pc, const Loader::SymbolTable *symtab) const;
+ Addr pc, const Loader::SymbolTable *symtab) const override;
};
class SveIndexIROp : public ArmStaticInst {
dest(_dest), imm1(_imm1), op2(_op2)
{}
std::string generateDisassembly(
- Addr pc, const Loader::SymbolTable *symtab) const;
+ Addr pc, const Loader::SymbolTable *symtab) const override;
};
class SveIndexRIOp : public ArmStaticInst {
dest(_dest), op1(_op1), imm2(_imm2)
{}
std::string generateDisassembly(
- Addr pc, const Loader::SymbolTable *symtab) const;
+ Addr pc, const Loader::SymbolTable *symtab) const override;
};
class SveIndexRROp : public ArmStaticInst {
dest(_dest), op1(_op1), op2(_op2)
{}
std::string generateDisassembly(
- Addr pc, const Loader::SymbolTable *symtab) const;
+ Addr pc, const Loader::SymbolTable *symtab) const override;
};
// Predicate count SVE instruction.
srcIs32b(_srcIs32b), destIsVec(_destIsVec)
{}
std::string generateDisassembly(
- Addr pc, const Loader::SymbolTable *symtab) const;
+ Addr pc, const Loader::SymbolTable *symtab) const override;
};
// Predicate count SVE instruction (predicated).
dest(_dest), op1(_op1), gp(_gp)
{}
std::string generateDisassembly(
- Addr pc, const Loader::SymbolTable *symtab) const;
+ Addr pc, const Loader::SymbolTable *symtab) const override;
};
/// While predicate generation SVE instruction.
dest(_dest), op1(_op1), op2(_op2), srcIs32b(_srcIs32b)
{}
std::string generateDisassembly(
- Addr pc, const Loader::SymbolTable *symtab) const;
+ Addr pc, const Loader::SymbolTable *symtab) const override;
};
/// Compare and terminate loop SVE instruction.
op1(_op1), op2(_op2)
{}
std::string generateDisassembly(
- Addr pc, const Loader::SymbolTable *symtab) const;
+ Addr pc, const Loader::SymbolTable *symtab) const override;
};
/// Unary, constructive, predicated (merging) SVE instruction.
{}
std::string generateDisassembly(
- Addr pc, const Loader::SymbolTable *symtab) const;
+ Addr pc, const Loader::SymbolTable *symtab) const override;
};
/// Unary, constructive, unpredicated SVE instruction.
{}
std::string generateDisassembly(
- Addr pc, const Loader::SymbolTable *symtab) const;
+ Addr pc, const Loader::SymbolTable *symtab) const override;
};
/// Unary with wide immediate, constructive, unpredicated SVE instruction.
{}
std::string generateDisassembly(
- Addr pc, const Loader::SymbolTable *symtab) const;
+ Addr pc, const Loader::SymbolTable *symtab) const override;
};
/// Unary with wide immediate, constructive, predicated SVE instruction.
{}
std::string generateDisassembly(
- Addr pc, const Loader::SymbolTable *symtab) const;
+ Addr pc, const Loader::SymbolTable *symtab) const override;
};
/// Binary with immediate, destructive, unpredicated SVE instruction.
{}
std::string generateDisassembly(
- Addr pc, const Loader::SymbolTable *symtab) const;
+ Addr pc, const Loader::SymbolTable *symtab) const override;
};
/// Binary with immediate, destructive, predicated (merging) SVE instruction.
{}
std::string generateDisassembly(
- Addr pc, const Loader::SymbolTable *symtab) const;
+ Addr pc, const Loader::SymbolTable *symtab) const override;
};
/// Binary with wide immediate, destructive, unpredicated SVE instruction.
{}
std::string generateDisassembly(
- Addr pc, const Loader::SymbolTable *symtab) const;
+ Addr pc, const Loader::SymbolTable *symtab) const override;
};
/// Binary, destructive, predicated (merging) SVE instruction.
{}
std::string generateDisassembly(
- Addr pc, const Loader::SymbolTable *symtab) const;
+ Addr pc, const Loader::SymbolTable *symtab) const override;
};
/// Binary, constructive, predicated SVE instruction.
{}
std::string generateDisassembly(
- Addr pc, const Loader::SymbolTable *symtab) const;
+ Addr pc, const Loader::SymbolTable *symtab) const override;
};
/// Binary, unpredicated SVE instruction with indexed operand
{}
std::string generateDisassembly(
- Addr pc, const Loader::SymbolTable *symtab) const;
+ Addr pc, const Loader::SymbolTable *symtab) const override;
};
/// Binary, unpredicated SVE instruction
{}
std::string generateDisassembly(
- Addr pc, const Loader::SymbolTable *symtab) const;
+ Addr pc, const Loader::SymbolTable *symtab) const override;
};
/// Predicate logical instruction.
{}
std::string generateDisassembly(
- Addr pc, const Loader::SymbolTable *symtab) const;
+ Addr pc, const Loader::SymbolTable *symtab) const override;
};
/// Predicate binary permute instruction.
{}
std::string generateDisassembly(
- Addr pc, const Loader::SymbolTable *symtab) const;
+ Addr pc, const Loader::SymbolTable *symtab) const override;
};
/// SVE compare instructions, predicated (zeroing).
{}
std::string generateDisassembly(
- Addr pc, const Loader::SymbolTable *symtab) const;
+ Addr pc, const Loader::SymbolTable *symtab) const override;
};
/// SVE compare-with-immediate instructions, predicated (zeroing).
{}
std::string generateDisassembly(
- Addr pc, const Loader::SymbolTable *symtab) const;
+ Addr pc, const Loader::SymbolTable *symtab) const override;
};
/// Ternary, destructive, predicated (merging) SVE instruction.
{}
std::string generateDisassembly(
- Addr pc, const Loader::SymbolTable *symtab) const;
+ Addr pc, const Loader::SymbolTable *symtab) const override;
};
/// Ternary with immediate, destructive, unpredicated SVE instruction.
{}
std::string generateDisassembly(
- Addr pc, const Loader::SymbolTable *symtab) const;
+ Addr pc, const Loader::SymbolTable *symtab) const override;
};
/// SVE reductions.
{}
std::string generateDisassembly(
- Addr pc, const Loader::SymbolTable *symtab) const;
+ Addr pc, const Loader::SymbolTable *symtab) const override;
};
/// SVE ordered reductions.
{}
std::string generateDisassembly(
- Addr pc, const Loader::SymbolTable *symtab) const;
+ Addr pc, const Loader::SymbolTable *symtab) const override;
};
/// PTRUE, PTRUES.
{}
std::string generateDisassembly(
- Addr pc, const Loader::SymbolTable *symtab) const;
+ Addr pc, const Loader::SymbolTable *symtab) const override;
};
/// Integer compare SVE instruction.
dest(_dest), op1(_op1), op2(_op2), gp(_gp), op2IsWide(_op2IsWide)
{}
std::string generateDisassembly(
- Addr pc, const Loader::SymbolTable *symtab) const;
+ Addr pc, const Loader::SymbolTable *symtab) const override;
};
/// Integer compare with immediate SVE instruction.
dest(_dest), op1(_op1), imm(_imm), gp(_gp)
{}
std::string generateDisassembly(
- Addr pc, const Loader::SymbolTable *symtab) const;
+ Addr pc, const Loader::SymbolTable *symtab) const override;
};
/// ADR.
offsetFormat(_offsetFormat)
{}
std::string generateDisassembly(
- Addr pc, const Loader::SymbolTable *symtab) const;
+ Addr pc, const Loader::SymbolTable *symtab) const override;
};
/// Element count SVE instruction.
dstIs32b(_dstIs32b)
{}
std::string generateDisassembly(
- Addr pc, const Loader::SymbolTable *symtab) const;
+ Addr pc, const Loader::SymbolTable *symtab) const override;
};
/// Partition break SVE instruction.
dest(_dest), gp(_gp), op1(_op1), isMerging(_isMerging)
{}
std::string generateDisassembly(
- Addr pc, const Loader::SymbolTable *symtab) const;
+ Addr pc, const Loader::SymbolTable *symtab) const override;
};
/// Partition break with propagation SVE instruction.
dest(_dest), op1(_op1), op2(_op2), gp(_gp)
{}
std::string generateDisassembly(
- Addr pc, const Loader::SymbolTable *symtab) const;
+ Addr pc, const Loader::SymbolTable *symtab) const override;
};
/// Scalar element select SVE instruction.
scalar(_scalar), simdFp(_simdFp)
{}
std::string generateDisassembly(
- Addr pc, const Loader::SymbolTable *symtab) const;
+ Addr pc, const Loader::SymbolTable *symtab) const override;
};
/// SVE unary operation on predicate (predicated)
dest(_dest), op1(_op1), gp(_gp)
{}
std::string generateDisassembly(
- Addr pc, const Loader::SymbolTable *symtab) const;
+ Addr pc, const Loader::SymbolTable *symtab) const override;
};
/// SVE table lookup/permute using vector of element indices (TBL)
dest(_dest), op1(_op1), op2(_op2)
{}
std::string generateDisassembly(
- Addr pc, const Loader::SymbolTable *symtab) const;
+ Addr pc, const Loader::SymbolTable *symtab) const override;
};
/// SVE unpack and widen predicate
dest(_dest), op1(_op1)
{}
std::string generateDisassembly(
- Addr pc, const Loader::SymbolTable *symtab) const;
+ Addr pc, const Loader::SymbolTable *symtab) const override;
};
/// SVE predicate test
op1(_op1), gp(_gp)
{}
std::string generateDisassembly(
- Addr pc, const Loader::SymbolTable *symtab) const;
+ Addr pc, const Loader::SymbolTable *symtab) const override;
};
/// SVE unary predicate instructions with implicit source operand
dest(_dest)
{}
std::string generateDisassembly(
- Addr pc, const Loader::SymbolTable *symtab) const;
+ Addr pc, const Loader::SymbolTable *symtab) const override;
};
/// SVE unary predicate instructions, predicated, with implicit source operand
dest(_dest), gp(_gp)
{}
std::string generateDisassembly(
- Addr pc, const Loader::SymbolTable *symtab) const;
+ Addr pc, const Loader::SymbolTable *symtab) const override;
};
/// SVE unary predicate instructions with implicit destination operand
op1(_op1)
{}
std::string generateDisassembly(
- Addr pc, const Loader::SymbolTable *symtab) const;
+ Addr pc, const Loader::SymbolTable *symtab) const override;
};
/// SVE unary predicate instructions with implicit destination operand
ArmStaticInst(mnem, _machInst, __opClass)
{}
std::string generateDisassembly(
- Addr pc, const Loader::SymbolTable *symtab) const;
+ Addr pc, const Loader::SymbolTable *symtab) const override;
};
/// SVE vector - immediate binary operation
dest(_dest), op1(_op1), imm(_imm)
{}
std::string generateDisassembly(
- Addr pc, const Loader::SymbolTable *symtab) const;
+ Addr pc, const Loader::SymbolTable *symtab) const override;
};
/// Binary with immediate index, destructive, unpredicated SVE instruction.
{}
std::string generateDisassembly(
- Addr pc, const Loader::SymbolTable *symtab) const;
+ Addr pc, const Loader::SymbolTable *symtab) const override;
};
/// Unary unpredicated scalar to vector instruction
{}
std::string generateDisassembly(
- Addr pc, const Loader::SymbolTable *symtab) const;
+ Addr pc, const Loader::SymbolTable *symtab) const override;
};
/// SVE dot product instruction (indexed)
{}
std::string generateDisassembly(
- Addr pc, const Loader::SymbolTable *symtab) const;
+ Addr pc, const Loader::SymbolTable *symtab) const override;
};
/// SVE dot product instruction (vectors)
{}
std::string generateDisassembly(
- Addr pc, const Loader::SymbolTable *symtab) const;
+ Addr pc, const Loader::SymbolTable *symtab) const override;
};
/// SVE Complex Instructions (vectors)
{}
std::string generateDisassembly(
- Addr pc, const Loader::SymbolTable *symtab) const;
+ Addr pc, const Loader::SymbolTable *symtab) const override;
};
/// SVE Complex Instructions (indexed)
{}
std::string generateDisassembly(
- Addr pc, const Loader::SymbolTable *symtab) const;
+ Addr pc, const Loader::SymbolTable *symtab) const override;
};
}
Fault
- execute(ExecContext *, Trace::InstRecord *) const
+ execute(ExecContext *, Trace::InstRecord *) const override
{
panic("Execute method called when it shouldn't!");
return NoFault;
}
std::string
- generateDisassembly(Addr pc, const Loader::SymbolTable *symtab) const
+ generateDisassembly(Addr pc,
+ const Loader::SymbolTable *symtab) const override
{
std::stringstream ss;
printMnemonic(ss, "", false);
}
Fault
- execute(ExecContext *, Trace::InstRecord *) const
+ execute(ExecContext *, Trace::InstRecord *) const override
{
panic("Execute method called when it shouldn't!");
return NoFault;
}
std::string
- generateDisassembly(Addr pc, const Loader::SymbolTable *symtab) const
+ generateDisassembly(Addr pc,
+ const Loader::SymbolTable *symtab) const override
{
std::stringstream ss;
printMnemonic(ss, "", false);
}
Fault
- execute(ExecContext *, Trace::InstRecord *) const
+ execute(ExecContext *, Trace::InstRecord *) const override
{
panic("Execute method called when it shouldn't!");
return NoFault;
}
std::string
- generateDisassembly(Addr pc, const Loader::SymbolTable *symtab) const
+ generateDisassembly(Addr pc,
+ const Loader::SymbolTable *symtab) const override
{
std::stringstream ss;
printMnemonic(ss, "", false);
}
Fault
- execute(ExecContext *, Trace::InstRecord *) const
+ execute(ExecContext *, Trace::InstRecord *) const override
{
panic("Execute method called when it shouldn't!");
return NoFault;
}
std::string
- generateDisassembly(Addr pc, const Loader::SymbolTable *symtab) const
+ generateDisassembly(Addr pc,
+ const Loader::SymbolTable *symtab) const override
{
std::stringstream ss;
printMnemonic(ss, "", false);
}
Fault
- execute(ExecContext *, Trace::InstRecord *) const
+ execute(ExecContext *, Trace::InstRecord *) const override
{
panic("Execute method called when it shouldn't!");
return NoFault;
}
std::string
- generateDisassembly(Addr pc, const Loader::SymbolTable *symtab) const
+ generateDisassembly(Addr pc,
+ const Loader::SymbolTable *symtab) const override
{
// TODO: add suffix to transfer and base registers
std::stringstream ss;
}
Fault
- execute(ExecContext *, Trace::InstRecord *) const
+ execute(ExecContext *, Trace::InstRecord *) const override
{
panic("Execute method called when it shouldn't!");
return NoFault;
}
std::string
- generateDisassembly(Addr pc, const Loader::SymbolTable *symtab) const
+ generateDisassembly(Addr pc,
+ const Loader::SymbolTable *symtab) const override
{
// TODO: add suffix to transfer and base registers
std::stringstream ss;
}
std::string generateDisassembly(
- Addr pc, const Loader::SymbolTable *symtab) const;
+ Addr pc, const Loader::SymbolTable *symtab) const override;
};
class SveMemPredFillSpill : public ArmStaticInst
}
std::string generateDisassembly(
- Addr pc, const Loader::SymbolTable *symtab) const;
+ Addr pc, const Loader::SymbolTable *symtab) const override;
};
class SveContigMemSS : public ArmStaticInst
}
std::string generateDisassembly(
- Addr pc, const Loader::SymbolTable *symtab) const;
+ Addr pc, const Loader::SymbolTable *symtab) const override;
};
class SveContigMemSI : public ArmStaticInst
}
std::string generateDisassembly(
- Addr pc, const Loader::SymbolTable *symtab) const;
+ Addr pc, const Loader::SymbolTable *symtab) const override;
};
} // namespace ArmISA
bool flush, uint32_t rMode) const;
void
- advancePC(PCState &pcState) const
+ advancePC(PCState &pcState) const override
{
if (flags[IsLastMicroop]) {
pcState.uEnd();
%(constructor)s;
}
- Fault execute(ExecContext *, Trace::InstRecord *) const;
+ Fault execute(ExecContext *, Trace::InstRecord *) const override;
};
}};
%(constructor)s;
}
- Fault execute(ExecContext *, Trace::InstRecord *) const;
+ Fault execute(ExecContext *, Trace::InstRecord *) const override;
};
}};
%(constructor)s;
}
- Fault execute(ExecContext *, Trace::InstRecord *) const;
+ Fault execute(ExecContext *, Trace::InstRecord *) const override;
};
}};
%(constructor)s;
}
- Fault execute(ExecContext *, Trace::InstRecord *) const;
+ Fault execute(ExecContext *, Trace::InstRecord *) const override;
};
}};
%(constructor)s;
}
- Fault execute(ExecContext *, Trace::InstRecord *) const;
+ Fault execute(ExecContext *, Trace::InstRecord *) const override;
};
}};
%(constructor)s;
}
- Fault execute(ExecContext *, Trace::InstRecord *) const;
+ Fault execute(ExecContext *, Trace::InstRecord *) const override;
};
}};
%(constructor)s;
}
- Fault execute(ExecContext *, Trace::InstRecord *) const;
+ Fault execute(ExecContext *, Trace::InstRecord *) const override;
};
}};
%(constructor)s;
}
- Fault execute(ExecContext *, Trace::InstRecord *) const;
+ Fault execute(ExecContext *, Trace::InstRecord *) const override;
};
}};
%(constructor)s;
}
- Fault execute(ExecContext *, Trace::InstRecord *) const;
+ Fault execute(ExecContext *, Trace::InstRecord *) const override;
};
}};
%(constructor)s;
}
- Fault execute(ExecContext *, Trace::InstRecord *) const;
+ Fault execute(ExecContext *, Trace::InstRecord *) const override;
};
}};
%(constructor)s;
}
- Fault execute(ExecContext *, Trace::InstRecord *) const;
+ Fault execute(ExecContext *, Trace::InstRecord *) const override;
};
}};
%(constructor)s;
}
- Fault execute(ExecContext *, Trace::InstRecord *) const;
+ Fault execute(ExecContext *, Trace::InstRecord *) const override;
};
}};
%(constructor)s;
}
- Fault execute(ExecContext *, Trace::InstRecord *) const;
+ Fault execute(ExecContext *, Trace::InstRecord *) const override;
};
}};
%(constructor)s;
}
- Fault execute(ExecContext *, Trace::InstRecord *) const;
+ Fault execute(ExecContext *, Trace::InstRecord *) const override;
};
}};
%(constructor)s;
}
- Fault execute(ExecContext *, Trace::InstRecord *) const;
+ Fault execute(ExecContext *, Trace::InstRecord *) const override;
};
}};
%(constructor)s;
}
- Fault execute(ExecContext *, Trace::InstRecord *) const;
+ Fault execute(ExecContext *, Trace::InstRecord *) const override;
};
}};
%(constructor)s;
}
- Fault execute(ExecContext *, Trace::InstRecord *) const;
+ Fault execute(ExecContext *, Trace::InstRecord *) const override;
};
}};
%(constructor)s;
}
- Fault execute(ExecContext *, Trace::InstRecord *) const;
+ Fault execute(ExecContext *, Trace::InstRecord *) const override;
};
}};
%(constructor)s;
}
- Fault execute(ExecContext *, Trace::InstRecord *) const;
+ Fault execute(ExecContext *, Trace::InstRecord *) const override;
};
}};
%(constructor)s;
}
- Fault execute(ExecContext *, Trace::InstRecord *) const;
+ Fault execute(ExecContext *, Trace::InstRecord *) const override;
};
}};
%(constructor)s;
}
- Fault execute(ExecContext *, Trace::InstRecord *) const;
+ Fault execute(ExecContext *, Trace::InstRecord *) const override;
};
}};
%(constructor)s;
}
- Fault execute(ExecContext *, Trace::InstRecord *) const;
+ Fault execute(ExecContext *, Trace::InstRecord *) const override;
};
}};
%(constructor)s;
}
- Fault execute(ExecContext *, Trace::InstRecord *) const;
+ Fault execute(ExecContext *, Trace::InstRecord *) const override;
};
}};
%(constructor)s;
}
- Fault execute(ExecContext *, Trace::InstRecord *) const;
+ Fault execute(ExecContext *, Trace::InstRecord *) const override;
};
}};
%(constructor)s;
}
- Fault execute(ExecContext *, Trace::InstRecord *) const;
+ Fault execute(ExecContext *, Trace::InstRecord *) const override;
};
}};
%(constructor)s;
}
- Fault execute(ExecContext *, Trace::InstRecord *) const;
+ Fault execute(ExecContext *, Trace::InstRecord *) const override;
};
}};
%(constructor)s;
}
- Fault execute(ExecContext *, Trace::InstRecord *) const;
+ Fault execute(ExecContext *, Trace::InstRecord *) const override;
};
}};
%(constructor)s;
}
- Fault execute(ExecContext *, Trace::InstRecord *) const;
+ Fault execute(ExecContext *, Trace::InstRecord *) const override;
};
}};
%(constructor)s;
}
- Fault execute(ExecContext *, Trace::InstRecord *) const;
+ Fault execute(ExecContext *, Trace::InstRecord *) const override;
};
}};
%(constructor)s;
}
- Fault execute(ExecContext *, Trace::InstRecord *) const;
+ Fault execute(ExecContext *, Trace::InstRecord *) const override;
};
}};
%(constructor)s;
}
- Fault execute(ExecContext *, Trace::InstRecord *) const;
+ Fault execute(ExecContext *, Trace::InstRecord *) const override;
};
}};
esize = sizeof(Element);
}
- Fault execute(ExecContext *, Trace::InstRecord *) const;
+ Fault execute(ExecContext *, Trace::InstRecord *) const override;
};
}};
%(constructor)s;
}
- Fault execute(ExecContext *, Trace::InstRecord *) const;
+ Fault execute(ExecContext *, Trace::InstRecord *) const override;
};
}};
%(constructor)s;
}
- Fault execute(ExecContext *, Trace::InstRecord *) const;
+ Fault execute(ExecContext *, Trace::InstRecord *) const override;
};
}};
scalar_width = (sizeof(Element) == 8) ? 64 : 32;
}
- Fault execute(ExecContext *, Trace::InstRecord *) const;
+ Fault execute(ExecContext *, Trace::InstRecord *) const override;
};
}};
%(constructor)s;
}
- Fault execute(ExecContext *, Trace::InstRecord *) const;
+ Fault execute(ExecContext *, Trace::InstRecord *) const override;
};
}};
%(constructor)s;
}
- Fault execute(ExecContext *, Trace::InstRecord *) const;
+ Fault execute(ExecContext *, Trace::InstRecord *) const override;
};
}};
%(constructor)s;
}
- Fault execute(ExecContext *, Trace::InstRecord *) const;
+ Fault execute(ExecContext *, Trace::InstRecord *) const override;
};
}};
%(constructor)s;
}
- Fault execute(ExecContext *, Trace::InstRecord *) const;
+ Fault execute(ExecContext *, Trace::InstRecord *) const override;
};
}};
%(constructor)s;
}
- Fault execute(ExecContext *, Trace::InstRecord *) const;
+ Fault execute(ExecContext *, Trace::InstRecord *) const override;
};
}};
%(constructor)s;
}
- Fault execute(ExecContext *, Trace::InstRecord *) const;
+ Fault execute(ExecContext *, Trace::InstRecord *) const override;
};
}};
esize = sizeof(Element);
}
- Fault execute(ExecContext *, Trace::InstRecord *) const;
+ Fault execute(ExecContext *, Trace::InstRecord *) const override;
};
}};
esize = sizeof(Element);
}
- Fault execute(ExecContext *, Trace::InstRecord *) const;
+ Fault execute(ExecContext *, Trace::InstRecord *) const override;
};
}};
%(constructor)s;
}
- Fault execute(ExecContext *, Trace::InstRecord *) const;
+ Fault execute(ExecContext *, Trace::InstRecord *) const override;
};
}};
%(constructor)s;
}
- Fault execute(ExecContext *, Trace::InstRecord *) const;
+ Fault execute(ExecContext *, Trace::InstRecord *) const override;
};
}};
%(constructor)s;
}
- Fault execute(ExecContext *, Trace::InstRecord *) const;
- Fault initiateAcc(ExecContext *, Trace::InstRecord *) const;
- Fault completeAcc(PacketPtr, ExecContext *, Trace::InstRecord *) const;
+ Fault execute(ExecContext *, Trace::InstRecord *) const override;
+ Fault initiateAcc(ExecContext *, Trace::InstRecord *) const override;
+ Fault completeAcc(PacketPtr, ExecContext *,
+ Trace::InstRecord *) const override;
- virtual void
- annotateFault(ArmFault *fault) {
+ void
+ annotateFault(ArmFault *fault) override
+ {
%(fa_code)s
}
};
%(constructor)s;
}
- Fault execute(ExecContext *, Trace::InstRecord *) const;
- Fault initiateAcc(ExecContext *, Trace::InstRecord *) const;
- Fault completeAcc(PacketPtr, ExecContext *, Trace::InstRecord *) const;
+ Fault execute(ExecContext *, Trace::InstRecord *) const override;
+ Fault initiateAcc(ExecContext *, Trace::InstRecord *) const override;
+ Fault completeAcc(PacketPtr, ExecContext *,
+ Trace::InstRecord *) const override;
virtual void
- annotateFault(ArmFault *fault) {
+ annotateFault(ArmFault *fault) override {
%(fa_code)s
}
};
%(constructor)s;
}
- Fault execute(ExecContext *, Trace::InstRecord *) const;
- Fault initiateAcc(ExecContext *, Trace::InstRecord *) const;
- Fault completeAcc(PacketPtr, ExecContext *, Trace::InstRecord *) const;
+ Fault execute(ExecContext *, Trace::InstRecord *) const override;
+ Fault initiateAcc(ExecContext *, Trace::InstRecord *) const override;
+ Fault completeAcc(PacketPtr, ExecContext *,
+ Trace::InstRecord *) const override;
virtual void
- annotateFault(ArmFault *fault) {
+ annotateFault(ArmFault *fault) override {
%(fa_code)s
}
};
}
}
- Fault execute(ExecContext *, Trace::InstRecord *) const;
- Fault initiateAcc(ExecContext *, Trace::InstRecord *) const;
- Fault completeAcc(PacketPtr, ExecContext *, Trace::InstRecord *) const;
+ Fault execute(ExecContext *, Trace::InstRecord *) const override;
+ Fault initiateAcc(ExecContext *, Trace::InstRecord *) const override;
+ Fault completeAcc(PacketPtr, ExecContext *,
+ Trace::InstRecord *) const override;
virtual void
- annotateFault(ArmFault *fault)
+ annotateFault(ArmFault *fault) override
{
%(fa_code)s
}
std::string
- generateDisassembly(Addr pc, const Loader::SymbolTable *symtab) const
+ generateDisassembly(Addr pc,
+ const Loader::SymbolTable *symtab) const override
{
// TODO: add suffix to transfer register
std::stringstream ss;
}
}
- Fault execute(ExecContext *, Trace::InstRecord *) const;
- Fault initiateAcc(ExecContext *, Trace::InstRecord *) const;
- Fault completeAcc(PacketPtr, ExecContext *, Trace::InstRecord *) const;
+ Fault execute(ExecContext *, Trace::InstRecord *) const override;
+ Fault initiateAcc(ExecContext *, Trace::InstRecord *) const override;
+ Fault completeAcc(PacketPtr, ExecContext *,
+ Trace::InstRecord *) const override;
virtual void
- annotateFault(ArmFault *fault)
+ annotateFault(ArmFault *fault) override
{
%(fa_code)s
}
std::string
- generateDisassembly(Addr pc, const Loader::SymbolTable *symtab) const
+ generateDisassembly(Addr pc,
+ const Loader::SymbolTable *symtab) const override
{
// TODO: add suffix to transfer and base registers
std::stringstream ss;
%(constructor)s;
}
- Fault execute(ExecContext *, Trace::InstRecord *) const;
+ Fault execute(ExecContext *, Trace::InstRecord *) const override;
std::string
- generateDisassembly(Addr pc, const Loader::SymbolTable *symtab) const
+ generateDisassembly(Addr pc,
+ const Loader::SymbolTable *symtab) const override
{
std::stringstream ss;
ccprintf(ss, "%s", macroOp->disassemble(pc, symtab));
%(constructor)s;
}
- Fault execute(ExecContext *, Trace::InstRecord *) const;
+ Fault execute(ExecContext *, Trace::InstRecord *) const override;
std::string
- generateDisassembly(Addr pc, const Loader::SymbolTable *symtab) const
+ generateDisassembly(Addr pc,
+ const Loader::SymbolTable *symtab) const override
{
std::stringstream ss;
ccprintf(ss, "%s", macroOp->disassemble(pc, symtab));
baseIsSP = isSP(_base);
}
- Fault execute(ExecContext *, Trace::InstRecord *) const;
- Fault initiateAcc(ExecContext *, Trace::InstRecord *) const;
- Fault completeAcc(PacketPtr, ExecContext *, Trace::InstRecord *) const;
+ Fault execute(ExecContext *, Trace::InstRecord *) const override;
+ Fault initiateAcc(ExecContext *, Trace::InstRecord *) const override;
+ Fault completeAcc(PacketPtr, ExecContext *,
+ Trace::InstRecord *) const override;
virtual void
- annotateFault(ArmFault *fault)
+ annotateFault(ArmFault *fault) override
{
%(fa_code)s
}
std::string
- generateDisassembly(Addr pc, const Loader::SymbolTable *symtab) const
+ generateDisassembly(Addr pc,
+ const Loader::SymbolTable *symtab) const override
{
std::stringstream ss;
printMnemonic(ss, "", false);
baseIsSP = isSP(_base);
}
- Fault execute(ExecContext *, Trace::InstRecord *) const;
- Fault initiateAcc(ExecContext *, Trace::InstRecord *) const;
- Fault completeAcc(PacketPtr, ExecContext *, Trace::InstRecord *) const;
+ Fault execute(ExecContext *, Trace::InstRecord *) const override;
+ Fault initiateAcc(ExecContext *, Trace::InstRecord *) const override;
+ Fault completeAcc(PacketPtr, ExecContext *,
+ Trace::InstRecord *) const override;
virtual void
- annotateFault(ArmFault *fault)
+ annotateFault(ArmFault *fault) override
{
%(fa_code)s
}
std::string
- generateDisassembly(Addr pc, const Loader::SymbolTable *symtab) const
+ generateDisassembly(Addr pc,
+ const Loader::SymbolTable *symtab) const override
{
std::stringstream ss;
printMnemonic(ss, "", false);
%(constructor)s;
}
- Fault execute(ExecContext *, Trace::InstRecord *) const;
+ Fault execute(ExecContext *, Trace::InstRecord *) const override;
std::string
- generateDisassembly(Addr pc, const Loader::SymbolTable *symtab) const
+ generateDisassembly(Addr pc,
+ const Loader::SymbolTable *symtab) const override
{
std::stringstream ss;
ccprintf(ss, "%s", macroOp->disassemble(pc, symtab));
%(constructor)s;
}
- Fault execute(ExecContext *, Trace::InstRecord *) const;
+ Fault execute(ExecContext *, Trace::InstRecord *) const override;
std::string
- generateDisassembly(Addr pc, const Loader::SymbolTable *symtab) const
+ generateDisassembly(Addr pc,
+ const Loader::SymbolTable *symtab) const override
{
std::stringstream ss;
ccprintf(ss, "%s", macroOp->disassemble(pc, symtab));
StaticInstPtr * microops;
StaticInstPtr
- fetchMicroop(MicroPC microPC) const
+ fetchMicroop(MicroPC microPC) const override
{
if (microPC >= numMicroops)
return badMicroop;
}
std::string
- generateDisassembly(Addr pc, const Loader::SymbolTable *symtab) const
+ generateDisassembly(Addr pc,
+ const Loader::SymbolTable *symtab) const override
{
return mnemonic;
}
bool checkCondition(uint64_t flags) const;*/
std::string generateDisassembly(
- Addr pc, const Loader::SymbolTable *symtab) const;
+ Addr pc, const Loader::SymbolTable *symtab) const override;
};
}
}
std::string generateDisassembly(
- Addr pc, const Loader::SymbolTable *symtab) const;
+ Addr pc, const Loader::SymbolTable *symtab) const override;
};
/**
}
std::string generateDisassembly(
- Addr pc, const Loader::SymbolTable *symtab) const;
+ Addr pc, const Loader::SymbolTable *symtab) const override;
};
}
{}
std::string generateDisassembly(Addr pc,
- const Loader::SymbolTable *symtab) const;
+ const Loader::SymbolTable *symtab) const override;
};
class MediaOpImm : public MediaOpBase
{}
std::string generateDisassembly(Addr pc,
- const Loader::SymbolTable *symtab) const;
+ const Loader::SymbolTable *symtab) const override;
};
}
}
std::string
- generateDisassembly(Addr pc, const Loader::SymbolTable *symtab) const
+ generateDisassembly(Addr pc,
+ const Loader::SymbolTable *symtab) const override
{
std::stringstream ss;
bool checkCondition(uint64_t flags, int condition) const;
void
- advancePC(PCState &pcState) const
+ advancePC(PCState &pcState) const override
{
if (flags[IsLastMicroop])
pcState.uEnd();
}
std::string generateDisassembly(
- Addr pc, const Loader::SymbolTable *symtab) const;
+ Addr pc, const Loader::SymbolTable *symtab) const override;
};
class RegOpImm : public RegOpBase
}
std::string generateDisassembly(
- Addr pc, const Loader::SymbolTable *symtab) const;
+ Addr pc, const Loader::SymbolTable *symtab) const override;
};
}
}
std::string generateDisassembly(
- Addr pc, const Loader::SymbolTable *symtab) const;
+ Addr pc, const Loader::SymbolTable *symtab) const override;
void printMnemonic(std::ostream &os, const char * mnemonic) const;
void printMnemonic(std::ostream &os, const char * instMnemonic,
}
void
- advancePC(PCState &pcState) const
+ advancePC(PCState &pcState) const override
{
pcState.advance();
}
public:
// Constructor.
%(class_name)s(ExtMachInst machInst);
- Fault execute(ExecContext *, Trace::InstRecord *) const;
+ Fault execute(ExecContext *, Trace::InstRecord *) const override;
};
}};
}
std::string generateDisassembly(Addr pc,
- const Loader::SymbolTable *symtab) const;
+ const Loader::SymbolTable *symtab) const override;
};
}};
{ }
std::string generateDisassembly(Addr pc,
- const Loader::SymbolTable *symtab) const;
+ const Loader::SymbolTable *symtab) const override;
};
}};
public:
// Constructor.
%(class_name)s(ExtMachInst machInst);
- Fault execute(ExecContext *, Trace::InstRecord *) const;
- Fault initiateAcc(ExecContext *, Trace::InstRecord *) const;
- Fault completeAcc(PacketPtr, ExecContext *, Trace::InstRecord *) const;
+ Fault execute(ExecContext *, Trace::InstRecord *) const override;
+ Fault initiateAcc(ExecContext *, Trace::InstRecord *) const override;
+ Fault completeAcc(PacketPtr, ExecContext *,
+ Trace::InstRecord *) const override;
};
}};
}
std::string generateDisassembly(Addr pc,
- const Loader::SymbolTable *symtab) const;
+ const Loader::SymbolTable *symtab) const override;
};
}};
}
std::string generateDisassembly(Addr pc,
- const Loader::SymbolTable *symtab) const;
+ const Loader::SymbolTable *symtab) const override;
};
}};
}
std::string generateDisassembly(Addr pc,
- const Loader::SymbolTable *symtab) const;
+ const Loader::SymbolTable *symtab) const override;
};
}};
flags[IsNonSpeculative] = true;
}
- Fault execute(ExecContext *, Trace::InstRecord *) const;
+ Fault execute(ExecContext *, Trace::InstRecord *) const override;
std::string
- generateDisassembly(Addr pc, const Loader::SymbolTable *symtab) const;
+ generateDisassembly(Addr pc,
+ const Loader::SymbolTable *symtab) const override;
};
/**
flags[IsNonSpeculative] = true;
}
- Fault execute(ExecContext *, Trace::InstRecord *) const;
+ Fault execute(ExecContext *, Trace::InstRecord *) const override;
std::string
- generateDisassembly(Addr pc, const Loader::SymbolTable *symtab) const;
+ generateDisassembly(Addr pc,
+ const Loader::SymbolTable *symtab) const override;
};
}};
{
}
- Fault execute(ExecContext *, Trace::InstRecord *) const;
+ Fault execute(ExecContext *, Trace::InstRecord *) const override;
std::string generateDisassembly(
- Addr pc, const Loader::SymbolTable *symtab) const;
+ Addr pc, const Loader::SymbolTable *symtab) const override;
};
}};
// Execute method for macroops.
def template MacroExecPanic {{
- Fault execute(ExecContext *, Trace::InstRecord *) const
+ Fault
+ execute(ExecContext *, Trace::InstRecord *) const override
{
panic("Tried to execute macroop directly!");
return NoFault;
{}
Fault
- execute(ExecContext *, Trace::InstRecord *) const
+ execute(ExecContext *, Trace::InstRecord *) const override
{
panic("Tried to execute macroop directly!");
}
%(class_name)s(ExtMachInst machInst, X86ISA::EmulEnv _env);
std::string generateDisassembly(
- Addr pc, const Loader::SymbolTable *symtab) const;
+ Addr pc, const Loader::SymbolTable *symtab) const override;
};
}
}};
GenericISA::M5DebugFault *_fault);
Fault
- execute(ExecContext *xc, Trace::InstRecord *traceData) const
+ execute(ExecContext *xc, Trace::InstRecord *traceData) const override
{
return fault;
}
std::string
- generateDisassembly(Addr pc, const Loader::SymbolTable *symtab) const
+ generateDisassembly(Addr pc,
+ const Loader::SymbolTable *symtab) const override
{
std::stringstream response;
const char *instMnem, uint64_t setFlags,
GenericISA::M5DebugFault *_fault, uint8_t _cc);
- Fault execute(ExecContext *, Trace::InstRecord *) const;
+ Fault execute(ExecContext *, Trace::InstRecord *) const override;
};
}};
InstRegIndex _src1, InstRegIndex _src2, InstRegIndex _dest,
uint8_t _dataSize, int8_t _spm);
- Fault execute(ExecContext *, Trace::InstRecord *) const;
+ Fault execute(ExecContext *, Trace::InstRecord *) const override;
};
}};
uint8_t _dataSize, uint8_t _addressSize,
Request::FlagsType _memFlags);
- Fault execute(ExecContext *, Trace::InstRecord *) const;
+ Fault execute(ExecContext *, Trace::InstRecord *) const override;
};
}};
uint8_t _dataSize, uint8_t _addressSize,
Request::FlagsType _memFlags);
- Fault execute(ExecContext *, Trace::InstRecord *) const;
- Fault initiateAcc(ExecContext *, Trace::InstRecord *) const;
- Fault completeAcc(PacketPtr, ExecContext *, Trace::InstRecord *) const;
+ Fault execute(ExecContext *, Trace::InstRecord *) const override;
+ Fault initiateAcc(ExecContext *, Trace::InstRecord *) const override;
+ Fault completeAcc(PacketPtr, ExecContext *,
+ Trace::InstRecord *) const override;
};
}};
uint8_t _dataSize, uint8_t _addressSize,
Request::FlagsType _memFlags);
- Fault execute(ExecContext *, Trace::InstRecord *) const;
- Fault initiateAcc(ExecContext *, Trace::InstRecord *) const;
- Fault completeAcc(PacketPtr, ExecContext *, Trace::InstRecord *) const;
+ Fault execute(ExecContext *, Trace::InstRecord *) const override;
+ Fault initiateAcc(ExecContext *, Trace::InstRecord *) const override;
+ Fault completeAcc(PacketPtr, ExecContext *,
+ Trace::InstRecord *) const override;
};
}};
RegIndex foldOBit;
std::string generateDisassembly(Addr pc,
- const Loader::SymbolTable *symtab) const;
+ const Loader::SymbolTable *symtab) const override;
public:
%(class_name)s(ExtMachInst _machInst,
uint64_t setFlags, InstRegIndex _dest,
uint64_t _imm, uint8_t _dataSize);
- Fault execute(ExecContext *, Trace::InstRecord *) const;
+ Fault execute(ExecContext *, Trace::InstRecord *) const override;
};
}};
InstRegIndex _src1, InstRegIndex _src2, InstRegIndex _dest,
uint8_t _srcSize, uint8_t _destSize, uint16_t _ext);
- Fault execute(ExecContext *, Trace::InstRecord *) const;
+ Fault execute(ExecContext *, Trace::InstRecord *) const override;
};
}};
InstRegIndex _src1, uint16_t _imm8, InstRegIndex _dest,
uint8_t _srcSize, uint8_t _destSize, uint16_t _ext);
- Fault execute(ExecContext *, Trace::InstRecord *) const;
+ Fault execute(ExecContext *, Trace::InstRecord *) const override;
};
}};
InstRegIndex _src1, InstRegIndex _src2, InstRegIndex _dest,
uint8_t _dataSize, uint16_t _ext);
- Fault execute(ExecContext *, Trace::InstRecord *) const;
+ Fault execute(ExecContext *, Trace::InstRecord *) const override;
X86ISA::PCState branchTarget(const X86ISA::PCState &branchPC) const
override;
InstRegIndex _src1, uint8_t _imm8, InstRegIndex _dest,
uint8_t _dataSize, uint16_t _ext);
- Fault execute(ExecContext *, Trace::InstRecord *) const;
+ Fault execute(ExecContext *, Trace::InstRecord *) const override;
X86ISA::PCState branchTarget(const X86ISA::PCState &branchPC) const
override;
uint16_t _target, uint8_t _cc);
std::string generateDisassembly(Addr pc,
- const Loader::SymbolTable *symtab) const;
+ const Loader::SymbolTable *symtab) const override;
};
}};
%(class_name)s(ExtMachInst _machInst, const char * instMnem,
uint64_t setFlags, uint16_t _target, uint8_t _cc);
- Fault execute(ExecContext *, Trace::InstRecord *) const;
+ Fault execute(ExecContext *, Trace::InstRecord *) const override;
X86ISA::PCState branchTarget(const X86ISA::PCState &branchPC) const
override;
uint64_t setFlags, Fault _fault, uint8_t _cc);
std::string generateDisassembly(Addr pc,
- const Loader::SymbolTable *symtab) const;
+ const Loader::SymbolTable *symtab) const override;
};
class MicroHalt : public X86ISA::X86MicroopBase
{
}
- Fault execute(ExecContext *, Trace::InstRecord *) const;
+ Fault execute(ExecContext *, Trace::InstRecord *) const override;
std::string generateDisassembly(Addr pc,
- const Loader::SymbolTable *symtab) const;
+ const Loader::SymbolTable *symtab) const override;
};
}};
%(class_name)s(ExtMachInst _machInst, const char * instMnem,
uint64_t setFlags, Fault _fault, uint8_t _cc);
- Fault execute(ExecContext *, Trace::InstRecord *) const;
+ Fault execute(ExecContext *, Trace::InstRecord *) const override;
};
}};
const char * instMnem,
uint64_t setFlags);
- Fault execute(ExecContext *, Trace::InstRecord *) const;
+ Fault execute(ExecContext *, Trace::InstRecord *) const override;
};
}};