arch-arm,arch-x86: Added missing overrides
These overrides were missing, causing compilation errors when compiling with clang 9. Noted here: https://www.mail-archive.com/gem5-dev@gem5.org/msg35657.html Change-Id: I6d09a0e57af3131b9172d01468d2cdcf4b444c5d Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/33817 Reviewed-by: Bobby R. Bruce <bbruce@ucdavis.edu> Maintainer: Bobby R. Bruce <bbruce@ucdavis.edu> Tested-by: kokoro <noreply+kokoro@google.com>
This commit is contained in:
@@ -58,7 +58,7 @@ class BranchImm : public PredOp
|
||||
{}
|
||||
|
||||
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
|
||||
@@ -88,7 +88,7 @@ class BranchReg : public PredOp
|
||||
{}
|
||||
|
||||
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
|
||||
@@ -119,7 +119,7 @@ class BranchRegReg : public PredOp
|
||||
{}
|
||||
|
||||
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
|
||||
|
||||
@@ -54,7 +54,7 @@ class MightBeMicro : public PredOp
|
||||
{}
|
||||
|
||||
void
|
||||
advancePC(PCState &pcState) const
|
||||
advancePC(PCState &pcState) const override
|
||||
{
|
||||
if (flags[IsLastMicroop]) {
|
||||
pcState.uEnd();
|
||||
@@ -372,7 +372,8 @@ class MemoryOffset : public Base
|
||||
{}
|
||||
|
||||
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);
|
||||
@@ -422,7 +423,8 @@ class MemoryPreIndex : public Base
|
||||
{}
|
||||
|
||||
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);
|
||||
@@ -472,7 +474,8 @@ class MemoryPostIndex : public Base
|
||||
{}
|
||||
|
||||
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);
|
||||
|
||||
@@ -72,7 +72,7 @@ class MightBeMicro64 : public ArmStaticInst
|
||||
{}
|
||||
|
||||
void
|
||||
advancePC(PCState &pcState) const
|
||||
advancePC(PCState &pcState) const override
|
||||
{
|
||||
if (flags[IsLastMicroop]) {
|
||||
pcState.uEnd();
|
||||
|
||||
@@ -387,7 +387,7 @@ class PredMicroop : public PredOp
|
||||
}
|
||||
|
||||
void
|
||||
advancePC(PCState &pcState) const
|
||||
advancePC(PCState &pcState) const override
|
||||
{
|
||||
if (flags[IsLastMicroop])
|
||||
pcState.uEnd();
|
||||
|
||||
@@ -128,7 +128,8 @@ class IllegalExecInst : public ArmStaticInst
|
||||
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
|
||||
@@ -136,7 +137,8 @@ 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
|
||||
|
||||
@@ -66,7 +66,7 @@ class SveIndexIIOp : public ArmStaticInst {
|
||||
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 {
|
||||
@@ -82,7 +82,7 @@ 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 {
|
||||
@@ -98,7 +98,7 @@ 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 {
|
||||
@@ -114,7 +114,7 @@ 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.
|
||||
@@ -133,7 +133,7 @@ class SvePredCountOp : public ArmStaticInst {
|
||||
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).
|
||||
@@ -150,7 +150,7 @@ class SvePredCountPredOp : public ArmStaticInst {
|
||||
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.
|
||||
@@ -166,7 +166,7 @@ class SveWhileOp : public ArmStaticInst {
|
||||
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.
|
||||
@@ -180,7 +180,7 @@ class SveCompTermOp : public ArmStaticInst {
|
||||
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.
|
||||
@@ -195,7 +195,7 @@ class SveUnaryPredOp : public ArmStaticInst {
|
||||
{}
|
||||
|
||||
std::string generateDisassembly(
|
||||
Addr pc, const Loader::SymbolTable *symtab) const;
|
||||
Addr pc, const Loader::SymbolTable *symtab) const override;
|
||||
};
|
||||
|
||||
/// Unary, constructive, unpredicated SVE instruction.
|
||||
@@ -210,7 +210,7 @@ class SveUnaryUnpredOp : public ArmStaticInst {
|
||||
{}
|
||||
|
||||
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.
|
||||
@@ -227,7 +227,7 @@ class SveUnaryWideImmUnpredOp : public ArmStaticInst {
|
||||
{}
|
||||
|
||||
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.
|
||||
@@ -247,7 +247,7 @@ class SveUnaryWideImmPredOp : public ArmStaticInst {
|
||||
{}
|
||||
|
||||
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.
|
||||
@@ -264,7 +264,7 @@ class SveBinImmUnpredConstrOp : public ArmStaticInst {
|
||||
{}
|
||||
|
||||
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.
|
||||
@@ -280,7 +280,7 @@ class SveBinImmPredOp : public ArmStaticInst {
|
||||
{}
|
||||
|
||||
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.
|
||||
@@ -297,7 +297,7 @@ class SveBinWideImmUnpredOp : public ArmStaticInst {
|
||||
{}
|
||||
|
||||
std::string generateDisassembly(
|
||||
Addr pc, const Loader::SymbolTable *symtab) const;
|
||||
Addr pc, const Loader::SymbolTable *symtab) const override;
|
||||
};
|
||||
|
||||
/// Binary, destructive, predicated (merging) SVE instruction.
|
||||
@@ -313,7 +313,7 @@ class SveBinDestrPredOp : public ArmStaticInst {
|
||||
{}
|
||||
|
||||
std::string generateDisassembly(
|
||||
Addr pc, const Loader::SymbolTable *symtab) const;
|
||||
Addr pc, const Loader::SymbolTable *symtab) const override;
|
||||
};
|
||||
|
||||
/// Binary, constructive, predicated SVE instruction.
|
||||
@@ -331,7 +331,7 @@ class SveBinConstrPredOp : public ArmStaticInst {
|
||||
{}
|
||||
|
||||
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
|
||||
@@ -346,7 +346,7 @@ class SveBinUnpredOp : public ArmStaticInst {
|
||||
{}
|
||||
|
||||
std::string generateDisassembly(
|
||||
Addr pc, const Loader::SymbolTable *symtab) const;
|
||||
Addr pc, const Loader::SymbolTable *symtab) const override;
|
||||
};
|
||||
|
||||
/// Binary, unpredicated SVE instruction
|
||||
@@ -363,7 +363,7 @@ class SveBinIdxUnpredOp : public ArmStaticInst {
|
||||
{}
|
||||
|
||||
std::string generateDisassembly(
|
||||
Addr pc, const Loader::SymbolTable *symtab) const;
|
||||
Addr pc, const Loader::SymbolTable *symtab) const override;
|
||||
};
|
||||
|
||||
/// Predicate logical instruction.
|
||||
@@ -380,7 +380,7 @@ class SvePredLogicalOp : public ArmStaticInst {
|
||||
{}
|
||||
|
||||
std::string generateDisassembly(
|
||||
Addr pc, const Loader::SymbolTable *symtab) const;
|
||||
Addr pc, const Loader::SymbolTable *symtab) const override;
|
||||
};
|
||||
|
||||
/// Predicate binary permute instruction.
|
||||
@@ -396,7 +396,7 @@ class SvePredBinPermOp : public ArmStaticInst {
|
||||
{}
|
||||
|
||||
std::string generateDisassembly(
|
||||
Addr pc, const Loader::SymbolTable *symtab) const;
|
||||
Addr pc, const Loader::SymbolTable *symtab) const override;
|
||||
};
|
||||
|
||||
/// SVE compare instructions, predicated (zeroing).
|
||||
@@ -412,7 +412,7 @@ class SveCmpOp : public ArmStaticInst {
|
||||
{}
|
||||
|
||||
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).
|
||||
@@ -429,7 +429,7 @@ class SveCmpImmOp : public ArmStaticInst {
|
||||
{}
|
||||
|
||||
std::string generateDisassembly(
|
||||
Addr pc, const Loader::SymbolTable *symtab) const;
|
||||
Addr pc, const Loader::SymbolTable *symtab) const override;
|
||||
};
|
||||
|
||||
/// Ternary, destructive, predicated (merging) SVE instruction.
|
||||
@@ -445,7 +445,7 @@ class SveTerPredOp : public ArmStaticInst {
|
||||
{}
|
||||
|
||||
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.
|
||||
@@ -462,7 +462,7 @@ class SveTerImmUnpredOp : public ArmStaticInst {
|
||||
{}
|
||||
|
||||
std::string generateDisassembly(
|
||||
Addr pc, const Loader::SymbolTable *symtab) const;
|
||||
Addr pc, const Loader::SymbolTable *symtab) const override;
|
||||
};
|
||||
|
||||
/// SVE reductions.
|
||||
@@ -477,7 +477,7 @@ class SveReducOp : public ArmStaticInst {
|
||||
{}
|
||||
|
||||
std::string generateDisassembly(
|
||||
Addr pc, const Loader::SymbolTable *symtab) const;
|
||||
Addr pc, const Loader::SymbolTable *symtab) const override;
|
||||
};
|
||||
|
||||
/// SVE ordered reductions.
|
||||
@@ -492,7 +492,7 @@ class SveOrdReducOp : public ArmStaticInst {
|
||||
{}
|
||||
|
||||
std::string generateDisassembly(
|
||||
Addr pc, const Loader::SymbolTable *symtab) const;
|
||||
Addr pc, const Loader::SymbolTable *symtab) const override;
|
||||
};
|
||||
|
||||
/// PTRUE, PTRUES.
|
||||
@@ -508,7 +508,7 @@ class SvePtrueOp : public ArmStaticInst {
|
||||
{}
|
||||
|
||||
std::string generateDisassembly(
|
||||
Addr pc, const Loader::SymbolTable *symtab) const;
|
||||
Addr pc, const Loader::SymbolTable *symtab) const override;
|
||||
};
|
||||
|
||||
/// Integer compare SVE instruction.
|
||||
@@ -526,7 +526,7 @@ class SveIntCmpOp : public ArmStaticInst {
|
||||
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.
|
||||
@@ -544,7 +544,7 @@ class SveIntCmpImmOp : public ArmStaticInst {
|
||||
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.
|
||||
@@ -570,7 +570,7 @@ class SveAdrOp : public ArmStaticInst {
|
||||
offsetFormat(_offsetFormat)
|
||||
{}
|
||||
std::string generateDisassembly(
|
||||
Addr pc, const Loader::SymbolTable *symtab) const;
|
||||
Addr pc, const Loader::SymbolTable *symtab) const override;
|
||||
};
|
||||
|
||||
/// Element count SVE instruction.
|
||||
@@ -591,7 +591,7 @@ class SveElemCountOp : public ArmStaticInst {
|
||||
dstIs32b(_dstIs32b)
|
||||
{}
|
||||
std::string generateDisassembly(
|
||||
Addr pc, const Loader::SymbolTable *symtab) const;
|
||||
Addr pc, const Loader::SymbolTable *symtab) const override;
|
||||
};
|
||||
|
||||
/// Partition break SVE instruction.
|
||||
@@ -609,7 +609,7 @@ class SvePartBrkOp : public ArmStaticInst {
|
||||
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.
|
||||
@@ -627,7 +627,7 @@ class SvePartBrkPropOp : public ArmStaticInst {
|
||||
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.
|
||||
@@ -651,7 +651,7 @@ class SveSelectOp : public ArmStaticInst {
|
||||
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)
|
||||
@@ -668,7 +668,7 @@ class SveUnaryPredPredOp : public ArmStaticInst {
|
||||
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)
|
||||
@@ -684,7 +684,7 @@ class SveTblOp : 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;
|
||||
};
|
||||
|
||||
/// SVE unpack and widen predicate
|
||||
@@ -699,7 +699,7 @@ class SveUnpackOp : public ArmStaticInst {
|
||||
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
|
||||
@@ -714,7 +714,7 @@ class SvePredTestOp : public ArmStaticInst {
|
||||
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
|
||||
@@ -728,7 +728,7 @@ class SvePredUnaryWImplicitSrcOp : public ArmStaticInst {
|
||||
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
|
||||
@@ -744,7 +744,7 @@ class SvePredUnaryWImplicitSrcPredOp : public ArmStaticInst {
|
||||
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
|
||||
@@ -758,7 +758,7 @@ class SvePredUnaryWImplicitDstOp : public ArmStaticInst {
|
||||
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
|
||||
@@ -769,7 +769,7 @@ class SveWImplicitSrcDstOp : public ArmStaticInst {
|
||||
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
|
||||
@@ -786,7 +786,7 @@ class SveBinImmUnpredDestrOp : public ArmStaticInst {
|
||||
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.
|
||||
@@ -803,7 +803,7 @@ class SveBinImmIdxUnpredOp : public ArmStaticInst {
|
||||
{}
|
||||
|
||||
std::string generateDisassembly(
|
||||
Addr pc, const Loader::SymbolTable *symtab) const;
|
||||
Addr pc, const Loader::SymbolTable *symtab) const override;
|
||||
};
|
||||
|
||||
/// Unary unpredicated scalar to vector instruction
|
||||
@@ -820,7 +820,7 @@ class SveUnarySca2VecUnpredOp : public ArmStaticInst {
|
||||
{}
|
||||
|
||||
std::string generateDisassembly(
|
||||
Addr pc, const Loader::SymbolTable *symtab) const;
|
||||
Addr pc, const Loader::SymbolTable *symtab) const override;
|
||||
};
|
||||
|
||||
/// SVE dot product instruction (indexed)
|
||||
@@ -839,7 +839,7 @@ class SveDotProdIdxOp : public ArmStaticInst {
|
||||
{}
|
||||
|
||||
std::string generateDisassembly(
|
||||
Addr pc, const Loader::SymbolTable *symtab) const;
|
||||
Addr pc, const Loader::SymbolTable *symtab) const override;
|
||||
};
|
||||
|
||||
/// SVE dot product instruction (vectors)
|
||||
@@ -857,7 +857,7 @@ class SveDotProdOp : public ArmStaticInst {
|
||||
{}
|
||||
|
||||
std::string generateDisassembly(
|
||||
Addr pc, const Loader::SymbolTable *symtab) const;
|
||||
Addr pc, const Loader::SymbolTable *symtab) const override;
|
||||
};
|
||||
|
||||
/// SVE Complex Instructions (vectors)
|
||||
@@ -875,7 +875,7 @@ class SveComplexOp : public ArmStaticInst {
|
||||
{}
|
||||
|
||||
std::string generateDisassembly(
|
||||
Addr pc, const Loader::SymbolTable *symtab) const;
|
||||
Addr pc, const Loader::SymbolTable *symtab) const override;
|
||||
};
|
||||
|
||||
/// SVE Complex Instructions (indexed)
|
||||
@@ -893,7 +893,7 @@ class SveComplexIdxOp : public ArmStaticInst {
|
||||
{}
|
||||
|
||||
std::string generateDisassembly(
|
||||
Addr pc, const Loader::SymbolTable *symtab) const;
|
||||
Addr pc, const Loader::SymbolTable *symtab) const override;
|
||||
};
|
||||
|
||||
|
||||
|
||||
@@ -86,14 +86,15 @@ class SveLdStructSS : public PredMacroOp
|
||||
}
|
||||
|
||||
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);
|
||||
@@ -158,14 +159,15 @@ class SveStStructSS : public PredMacroOp
|
||||
}
|
||||
|
||||
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);
|
||||
@@ -230,14 +232,15 @@ class SveLdStructSI : public PredMacroOp
|
||||
}
|
||||
|
||||
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);
|
||||
@@ -303,14 +306,15 @@ class SveStStructSI : public PredMacroOp
|
||||
}
|
||||
|
||||
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);
|
||||
@@ -402,14 +406,15 @@ class SveIndexedMemVI : public PredMacroOp
|
||||
}
|
||||
|
||||
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;
|
||||
@@ -506,14 +511,15 @@ class SveIndexedMemSV : public PredMacroOp
|
||||
}
|
||||
|
||||
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;
|
||||
|
||||
@@ -67,7 +67,7 @@ class SveMemVecFillSpill : public ArmStaticInst
|
||||
}
|
||||
|
||||
std::string generateDisassembly(
|
||||
Addr pc, const Loader::SymbolTable *symtab) const;
|
||||
Addr pc, const Loader::SymbolTable *symtab) const override;
|
||||
};
|
||||
|
||||
class SveMemPredFillSpill : public ArmStaticInst
|
||||
@@ -93,7 +93,7 @@ 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
|
||||
@@ -120,7 +120,7 @@ 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
|
||||
@@ -147,7 +147,7 @@ class SveContigMemSI : public ArmStaticInst
|
||||
}
|
||||
|
||||
std::string generateDisassembly(
|
||||
Addr pc, const Loader::SymbolTable *symtab) const;
|
||||
Addr pc, const Loader::SymbolTable *symtab) const override;
|
||||
};
|
||||
|
||||
} // namespace ArmISA
|
||||
|
||||
@@ -849,7 +849,7 @@ class FpOp : public PredOp
|
||||
bool flush, uint32_t rMode) const;
|
||||
|
||||
void
|
||||
advancePC(PCState &pcState) const
|
||||
advancePC(PCState &pcState) const override
|
||||
{
|
||||
if (flags[IsLastMicroop]) {
|
||||
pcState.uEnd();
|
||||
|
||||
@@ -64,7 +64,7 @@ class %(class_name)s : public %(base_class)s
|
||||
%(constructor)s;
|
||||
}
|
||||
|
||||
Fault execute(ExecContext *, Trace::InstRecord *) const;
|
||||
Fault execute(ExecContext *, Trace::InstRecord *) const override;
|
||||
};
|
||||
}};
|
||||
|
||||
@@ -85,7 +85,7 @@ class %(class_name)s : public %(base_class)s
|
||||
%(constructor)s;
|
||||
}
|
||||
|
||||
Fault execute(ExecContext *, Trace::InstRecord *) const;
|
||||
Fault execute(ExecContext *, Trace::InstRecord *) const override;
|
||||
};
|
||||
}};
|
||||
|
||||
@@ -106,7 +106,7 @@ class %(class_name)s : public %(base_class)s
|
||||
%(constructor)s;
|
||||
}
|
||||
|
||||
Fault execute(ExecContext *, Trace::InstRecord *) const;
|
||||
Fault execute(ExecContext *, Trace::InstRecord *) const override;
|
||||
};
|
||||
}};
|
||||
|
||||
@@ -127,7 +127,7 @@ class %(class_name)s : public %(base_class)s
|
||||
%(constructor)s;
|
||||
}
|
||||
|
||||
Fault execute(ExecContext *, Trace::InstRecord *) const;
|
||||
Fault execute(ExecContext *, Trace::InstRecord *) const override;
|
||||
};
|
||||
}};
|
||||
|
||||
@@ -148,7 +148,7 @@ class %(class_name)s : public %(base_class)s
|
||||
%(constructor)s;
|
||||
}
|
||||
|
||||
Fault execute(ExecContext *, Trace::InstRecord *) const;
|
||||
Fault execute(ExecContext *, Trace::InstRecord *) const override;
|
||||
};
|
||||
}};
|
||||
|
||||
@@ -170,7 +170,7 @@ class %(class_name)s : public %(base_class)s
|
||||
%(constructor)s;
|
||||
}
|
||||
|
||||
Fault execute(ExecContext *, Trace::InstRecord *) const;
|
||||
Fault execute(ExecContext *, Trace::InstRecord *) const override;
|
||||
};
|
||||
}};
|
||||
|
||||
@@ -191,7 +191,7 @@ class %(class_name)s : public %(base_class)s
|
||||
%(constructor)s;
|
||||
}
|
||||
|
||||
Fault execute(ExecContext *, Trace::InstRecord *) const;
|
||||
Fault execute(ExecContext *, Trace::InstRecord *) const override;
|
||||
};
|
||||
}};
|
||||
|
||||
@@ -212,7 +212,7 @@ class %(class_name)s : public %(base_class)s
|
||||
%(constructor)s;
|
||||
}
|
||||
|
||||
Fault execute(ExecContext *, Trace::InstRecord *) const;
|
||||
Fault execute(ExecContext *, Trace::InstRecord *) const override;
|
||||
};
|
||||
}};
|
||||
|
||||
@@ -233,7 +233,7 @@ class %(class_name)s : public %(base_class)s
|
||||
%(constructor)s;
|
||||
}
|
||||
|
||||
Fault execute(ExecContext *, Trace::InstRecord *) const;
|
||||
Fault execute(ExecContext *, Trace::InstRecord *) const override;
|
||||
};
|
||||
}};
|
||||
|
||||
@@ -255,7 +255,7 @@ class %(class_name)s : public %(base_class)s
|
||||
%(constructor)s;
|
||||
}
|
||||
|
||||
Fault execute(ExecContext *, Trace::InstRecord *) const;
|
||||
Fault execute(ExecContext *, Trace::InstRecord *) const override;
|
||||
};
|
||||
}};
|
||||
|
||||
@@ -276,7 +276,7 @@ class %(class_name)s : public %(base_class)s
|
||||
%(constructor)s;
|
||||
}
|
||||
|
||||
Fault execute(ExecContext *, Trace::InstRecord *) const;
|
||||
Fault execute(ExecContext *, Trace::InstRecord *) const override;
|
||||
};
|
||||
}};
|
||||
|
||||
@@ -298,7 +298,7 @@ class %(class_name)s : public %(base_class)s
|
||||
%(constructor)s;
|
||||
}
|
||||
|
||||
Fault execute(ExecContext *, Trace::InstRecord *) const;
|
||||
Fault execute(ExecContext *, Trace::InstRecord *) const override;
|
||||
};
|
||||
}};
|
||||
|
||||
@@ -320,7 +320,7 @@ class %(class_name)s : public %(base_class)s
|
||||
%(constructor)s;
|
||||
}
|
||||
|
||||
Fault execute(ExecContext *, Trace::InstRecord *) const;
|
||||
Fault execute(ExecContext *, Trace::InstRecord *) const override;
|
||||
};
|
||||
}};
|
||||
|
||||
@@ -342,7 +342,7 @@ class %(class_name)s : public %(base_class)s
|
||||
%(constructor)s;
|
||||
}
|
||||
|
||||
Fault execute(ExecContext *, Trace::InstRecord *) const;
|
||||
Fault execute(ExecContext *, Trace::InstRecord *) const override;
|
||||
};
|
||||
}};
|
||||
|
||||
@@ -364,7 +364,7 @@ class %(class_name)s : public %(base_class)s
|
||||
%(constructor)s;
|
||||
}
|
||||
|
||||
Fault execute(ExecContext *, Trace::InstRecord *) const;
|
||||
Fault execute(ExecContext *, Trace::InstRecord *) const override;
|
||||
};
|
||||
}};
|
||||
|
||||
@@ -386,7 +386,7 @@ class %(class_name)s : public %(base_class)s
|
||||
%(constructor)s;
|
||||
}
|
||||
|
||||
Fault execute(ExecContext *, Trace::InstRecord *) const;
|
||||
Fault execute(ExecContext *, Trace::InstRecord *) const override;
|
||||
};
|
||||
}};
|
||||
|
||||
@@ -408,7 +408,7 @@ class %(class_name)s : public %(base_class)s
|
||||
%(constructor)s;
|
||||
}
|
||||
|
||||
Fault execute(ExecContext *, Trace::InstRecord *) const;
|
||||
Fault execute(ExecContext *, Trace::InstRecord *) const override;
|
||||
};
|
||||
}};
|
||||
|
||||
@@ -429,7 +429,7 @@ class %(class_name)s : public %(base_class)s
|
||||
%(constructor)s;
|
||||
}
|
||||
|
||||
Fault execute(ExecContext *, Trace::InstRecord *) const;
|
||||
Fault execute(ExecContext *, Trace::InstRecord *) const override;
|
||||
};
|
||||
}};
|
||||
|
||||
@@ -450,7 +450,7 @@ class %(class_name)s : public %(base_class)s
|
||||
%(constructor)s;
|
||||
}
|
||||
|
||||
Fault execute(ExecContext *, Trace::InstRecord *) const;
|
||||
Fault execute(ExecContext *, Trace::InstRecord *) const override;
|
||||
};
|
||||
}};
|
||||
|
||||
@@ -475,7 +475,7 @@ class %(class_name)s : public %(base_class)s
|
||||
%(constructor)s;
|
||||
}
|
||||
|
||||
Fault execute(ExecContext *, Trace::InstRecord *) const;
|
||||
Fault execute(ExecContext *, Trace::InstRecord *) const override;
|
||||
};
|
||||
}};
|
||||
|
||||
@@ -496,7 +496,7 @@ class SveIndexII : public SveIndexIIOp
|
||||
%(constructor)s;
|
||||
}
|
||||
|
||||
Fault execute(ExecContext *, Trace::InstRecord *) const;
|
||||
Fault execute(ExecContext *, Trace::InstRecord *) const override;
|
||||
};
|
||||
}};
|
||||
|
||||
@@ -517,7 +517,7 @@ class SveIndexIR : public SveIndexIROp
|
||||
%(constructor)s;
|
||||
}
|
||||
|
||||
Fault execute(ExecContext *, Trace::InstRecord *) const;
|
||||
Fault execute(ExecContext *, Trace::InstRecord *) const override;
|
||||
};
|
||||
}};
|
||||
|
||||
@@ -538,7 +538,7 @@ class SveIndexRI : public SveIndexRIOp
|
||||
%(constructor)s;
|
||||
}
|
||||
|
||||
Fault execute(ExecContext *, Trace::InstRecord *) const;
|
||||
Fault execute(ExecContext *, Trace::InstRecord *) const override;
|
||||
};
|
||||
}};
|
||||
|
||||
@@ -559,7 +559,7 @@ class SveIndexRR : public SveIndexRROp
|
||||
%(constructor)s;
|
||||
}
|
||||
|
||||
Fault execute(ExecContext *, Trace::InstRecord *) const;
|
||||
Fault execute(ExecContext *, Trace::InstRecord *) const override;
|
||||
};
|
||||
}};
|
||||
|
||||
@@ -579,7 +579,7 @@ class %(class_name)s : public %(base_class)s
|
||||
%(constructor)s;
|
||||
}
|
||||
|
||||
Fault execute(ExecContext *, Trace::InstRecord *) const;
|
||||
Fault execute(ExecContext *, Trace::InstRecord *) const override;
|
||||
};
|
||||
}};
|
||||
|
||||
@@ -599,7 +599,7 @@ class %(class_name)s : public %(base_class)s
|
||||
%(constructor)s;
|
||||
}
|
||||
|
||||
Fault execute(ExecContext *, Trace::InstRecord *) const;
|
||||
Fault execute(ExecContext *, Trace::InstRecord *) const override;
|
||||
};
|
||||
|
||||
}};
|
||||
@@ -621,7 +621,7 @@ class %(class_name)s : public %(base_class)s
|
||||
%(constructor)s;
|
||||
}
|
||||
|
||||
Fault execute(ExecContext *, Trace::InstRecord *) const;
|
||||
Fault execute(ExecContext *, Trace::InstRecord *) const override;
|
||||
};
|
||||
}};
|
||||
|
||||
@@ -643,7 +643,7 @@ class %(class_name)s : public %(base_class)s
|
||||
%(constructor)s;
|
||||
}
|
||||
|
||||
Fault execute(ExecContext *, Trace::InstRecord *) const;
|
||||
Fault execute(ExecContext *, Trace::InstRecord *) const override;
|
||||
};
|
||||
}};
|
||||
|
||||
@@ -663,7 +663,7 @@ class %(class_name)s : public %(base_class)s
|
||||
%(constructor)s;
|
||||
}
|
||||
|
||||
Fault execute(ExecContext *, Trace::InstRecord *) const;
|
||||
Fault execute(ExecContext *, Trace::InstRecord *) const override;
|
||||
};
|
||||
}};
|
||||
|
||||
@@ -681,7 +681,7 @@ class %(class_name)s : public %(base_class)s
|
||||
%(constructor)s;
|
||||
}
|
||||
|
||||
Fault execute(ExecContext *, Trace::InstRecord *) const;
|
||||
Fault execute(ExecContext *, Trace::InstRecord *) const override;
|
||||
};
|
||||
}};
|
||||
|
||||
@@ -701,7 +701,7 @@ class %(class_name)s : public %(base_class)s
|
||||
%(constructor)s;
|
||||
}
|
||||
|
||||
Fault execute(ExecContext *, Trace::InstRecord *) const;
|
||||
Fault execute(ExecContext *, Trace::InstRecord *) const override;
|
||||
};
|
||||
}};
|
||||
|
||||
@@ -722,7 +722,7 @@ class %(class_name)s : public %(base_class)s
|
||||
esize = sizeof(Element);
|
||||
}
|
||||
|
||||
Fault execute(ExecContext *, Trace::InstRecord *) const;
|
||||
Fault execute(ExecContext *, Trace::InstRecord *) const override;
|
||||
};
|
||||
}};
|
||||
|
||||
@@ -738,7 +738,7 @@ class %(class_name)s : public %(base_class)s
|
||||
%(constructor)s;
|
||||
}
|
||||
|
||||
Fault execute(ExecContext *, Trace::InstRecord *) const;
|
||||
Fault execute(ExecContext *, Trace::InstRecord *) const override;
|
||||
};
|
||||
}};
|
||||
|
||||
@@ -756,7 +756,7 @@ class %(class_name)s : public %(base_class)s
|
||||
%(constructor)s;
|
||||
}
|
||||
|
||||
Fault execute(ExecContext *, Trace::InstRecord *) const;
|
||||
Fault execute(ExecContext *, Trace::InstRecord *) const override;
|
||||
};
|
||||
}};
|
||||
|
||||
@@ -777,7 +777,7 @@ class %(class_name)s : public %(base_class)s
|
||||
scalar_width = (sizeof(Element) == 8) ? 64 : 32;
|
||||
}
|
||||
|
||||
Fault execute(ExecContext *, Trace::InstRecord *) const;
|
||||
Fault execute(ExecContext *, Trace::InstRecord *) const override;
|
||||
};
|
||||
}};
|
||||
|
||||
@@ -800,7 +800,7 @@ class %(class_name)s : public %(base_class)s
|
||||
%(constructor)s;
|
||||
}
|
||||
|
||||
Fault execute(ExecContext *, Trace::InstRecord *) const;
|
||||
Fault execute(ExecContext *, Trace::InstRecord *) const override;
|
||||
};
|
||||
}};
|
||||
|
||||
@@ -814,7 +814,7 @@ class %(class_name)s : public %(base_class)s
|
||||
%(constructor)s;
|
||||
}
|
||||
|
||||
Fault execute(ExecContext *, Trace::InstRecord *) const;
|
||||
Fault execute(ExecContext *, Trace::InstRecord *) const override;
|
||||
};
|
||||
}};
|
||||
|
||||
@@ -828,7 +828,7 @@ class %(class_name)s : public %(base_class)s
|
||||
%(constructor)s;
|
||||
}
|
||||
|
||||
Fault execute(ExecContext *, Trace::InstRecord *) const;
|
||||
Fault execute(ExecContext *, Trace::InstRecord *) const override;
|
||||
};
|
||||
}};
|
||||
|
||||
@@ -842,7 +842,7 @@ class %(class_name)s : public %(base_class)s
|
||||
%(constructor)s;
|
||||
}
|
||||
|
||||
Fault execute(ExecContext *, Trace::InstRecord *) const;
|
||||
Fault execute(ExecContext *, Trace::InstRecord *) const override;
|
||||
};
|
||||
}};
|
||||
|
||||
@@ -856,7 +856,7 @@ class %(class_name)s : public %(base_class)s
|
||||
%(constructor)s;
|
||||
}
|
||||
|
||||
Fault execute(ExecContext *, Trace::InstRecord *) const;
|
||||
Fault execute(ExecContext *, Trace::InstRecord *) const override;
|
||||
};
|
||||
}};
|
||||
|
||||
@@ -870,7 +870,7 @@ class %(class_name)s : public %(base_class)s
|
||||
%(constructor)s;
|
||||
}
|
||||
|
||||
Fault execute(ExecContext *, Trace::InstRecord *) const;
|
||||
Fault execute(ExecContext *, Trace::InstRecord *) const override;
|
||||
};
|
||||
}};
|
||||
|
||||
@@ -896,7 +896,7 @@ class %(class_name)s : public %(base_class)s
|
||||
esize = sizeof(Element);
|
||||
}
|
||||
|
||||
Fault execute(ExecContext *, Trace::InstRecord *) const;
|
||||
Fault execute(ExecContext *, Trace::InstRecord *) const override;
|
||||
};
|
||||
}};
|
||||
|
||||
@@ -921,7 +921,7 @@ class %(class_name)s : public %(base_class)s
|
||||
esize = sizeof(Element);
|
||||
}
|
||||
|
||||
Fault execute(ExecContext *, Trace::InstRecord *) const;
|
||||
Fault execute(ExecContext *, Trace::InstRecord *) const override;
|
||||
};
|
||||
}};
|
||||
|
||||
@@ -943,7 +943,7 @@ class %(class_name)s : public %(base_class)s
|
||||
%(constructor)s;
|
||||
}
|
||||
|
||||
Fault execute(ExecContext *, Trace::InstRecord *) const;
|
||||
Fault execute(ExecContext *, Trace::InstRecord *) const override;
|
||||
};
|
||||
}};
|
||||
|
||||
@@ -965,7 +965,7 @@ class %(class_name)s : public %(base_class)s
|
||||
%(constructor)s;
|
||||
}
|
||||
|
||||
Fault execute(ExecContext *, Trace::InstRecord *) const;
|
||||
Fault execute(ExecContext *, Trace::InstRecord *) const override;
|
||||
};
|
||||
}};
|
||||
|
||||
|
||||
@@ -50,12 +50,14 @@ def template SveMemFillSpillOpDeclare {{
|
||||
%(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
|
||||
}
|
||||
};
|
||||
@@ -78,12 +80,13 @@ def template SveContigMemSSOpDeclare {{
|
||||
%(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
|
||||
}
|
||||
};
|
||||
@@ -106,12 +109,13 @@ def template SveContigMemSIOpDeclare {{
|
||||
%(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
|
||||
}
|
||||
};
|
||||
@@ -420,18 +424,20 @@ def template SveIndexedMemVIMicroopDeclare {{
|
||||
}
|
||||
}
|
||||
|
||||
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;
|
||||
@@ -499,18 +505,20 @@ def template SveIndexedMemSVMicroopDeclare {{
|
||||
}
|
||||
}
|
||||
|
||||
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;
|
||||
@@ -732,10 +740,11 @@ def template SveFirstFaultWritebackMicroopDeclare {{
|
||||
%(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));
|
||||
@@ -787,10 +796,11 @@ def template SveGatherLoadCpySrcVecMicroopDeclare {{
|
||||
%(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));
|
||||
@@ -851,18 +861,20 @@ def template SveStructMemSIMicroopDeclare {{
|
||||
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);
|
||||
@@ -1114,18 +1126,20 @@ def template SveStructMemSSMicroopDeclare {{
|
||||
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);
|
||||
@@ -1187,10 +1201,11 @@ def template SveIntrlvMicroopDeclare {{
|
||||
%(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));
|
||||
@@ -1224,10 +1239,11 @@ def template SveDeIntrlvMicroopDeclare {{
|
||||
%(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));
|
||||
|
||||
@@ -73,7 +73,7 @@ class MacroopBase : public X86StaticInst
|
||||
StaticInstPtr * microops;
|
||||
|
||||
StaticInstPtr
|
||||
fetchMicroop(MicroPC microPC) const
|
||||
fetchMicroop(MicroPC microPC) const override
|
||||
{
|
||||
if (microPC >= numMicroops)
|
||||
return badMicroop;
|
||||
@@ -82,7 +82,8 @@ class MacroopBase : public X86StaticInst
|
||||
}
|
||||
|
||||
std::string
|
||||
generateDisassembly(Addr pc, const Loader::SymbolTable *symtab) const
|
||||
generateDisassembly(Addr pc,
|
||||
const Loader::SymbolTable *symtab) const override
|
||||
{
|
||||
return mnemonic;
|
||||
}
|
||||
|
||||
@@ -75,7 +75,7 @@ namespace X86ISA
|
||||
bool checkCondition(uint64_t flags) const;*/
|
||||
|
||||
std::string generateDisassembly(
|
||||
Addr pc, const Loader::SymbolTable *symtab) const;
|
||||
Addr pc, const Loader::SymbolTable *symtab) const override;
|
||||
};
|
||||
}
|
||||
|
||||
|
||||
@@ -113,7 +113,7 @@ namespace X86ISA
|
||||
}
|
||||
|
||||
std::string generateDisassembly(
|
||||
Addr pc, const Loader::SymbolTable *symtab) const;
|
||||
Addr pc, const Loader::SymbolTable *symtab) const override;
|
||||
};
|
||||
|
||||
/**
|
||||
@@ -147,7 +147,7 @@ namespace X86ISA
|
||||
}
|
||||
|
||||
std::string generateDisassembly(
|
||||
Addr pc, const Loader::SymbolTable *symtab) const;
|
||||
Addr pc, const Loader::SymbolTable *symtab) const override;
|
||||
};
|
||||
}
|
||||
|
||||
|
||||
@@ -104,7 +104,7 @@ namespace X86ISA
|
||||
{}
|
||||
|
||||
std::string generateDisassembly(Addr pc,
|
||||
const Loader::SymbolTable *symtab) const;
|
||||
const Loader::SymbolTable *symtab) const override;
|
||||
};
|
||||
|
||||
class MediaOpImm : public MediaOpBase
|
||||
@@ -125,7 +125,7 @@ namespace X86ISA
|
||||
{}
|
||||
|
||||
std::string generateDisassembly(Addr pc,
|
||||
const Loader::SymbolTable *symtab) const;
|
||||
const Loader::SymbolTable *symtab) const override;
|
||||
};
|
||||
}
|
||||
|
||||
|
||||
@@ -110,7 +110,8 @@ namespace X86ISA
|
||||
}
|
||||
|
||||
std::string
|
||||
generateDisassembly(Addr pc, const Loader::SymbolTable *symtab) const
|
||||
generateDisassembly(Addr pc,
|
||||
const Loader::SymbolTable *symtab) const override
|
||||
{
|
||||
std::stringstream ss;
|
||||
|
||||
@@ -122,7 +123,7 @@ namespace X86ISA
|
||||
bool checkCondition(uint64_t flags, int condition) const;
|
||||
|
||||
void
|
||||
advancePC(PCState &pcState) const
|
||||
advancePC(PCState &pcState) const override
|
||||
{
|
||||
if (flags[IsLastMicroop])
|
||||
pcState.uEnd();
|
||||
|
||||
@@ -93,7 +93,7 @@ namespace X86ISA
|
||||
}
|
||||
|
||||
std::string generateDisassembly(
|
||||
Addr pc, const Loader::SymbolTable *symtab) const;
|
||||
Addr pc, const Loader::SymbolTable *symtab) const override;
|
||||
};
|
||||
|
||||
class RegOpImm : public RegOpBase
|
||||
@@ -115,7 +115,7 @@ namespace X86ISA
|
||||
}
|
||||
|
||||
std::string generateDisassembly(
|
||||
Addr pc, const Loader::SymbolTable *symtab) const;
|
||||
Addr pc, const Loader::SymbolTable *symtab) const override;
|
||||
};
|
||||
}
|
||||
|
||||
|
||||
@@ -87,7 +87,7 @@ namespace X86ISA
|
||||
}
|
||||
|
||||
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,
|
||||
@@ -175,7 +175,7 @@ namespace X86ISA
|
||||
}
|
||||
|
||||
void
|
||||
advancePC(PCState &pcState) const
|
||||
advancePC(PCState &pcState) const override
|
||||
{
|
||||
pcState.advance();
|
||||
}
|
||||
|
||||
@@ -46,7 +46,7 @@ def template BasicDeclare {{
|
||||
public:
|
||||
// Constructor.
|
||||
%(class_name)s(ExtMachInst machInst);
|
||||
Fault execute(ExecContext *, Trace::InstRecord *) const;
|
||||
Fault execute(ExecContext *, Trace::InstRecord *) const override;
|
||||
};
|
||||
}};
|
||||
|
||||
|
||||
@@ -48,7 +48,7 @@ output header {{
|
||||
}
|
||||
|
||||
std::string generateDisassembly(Addr pc,
|
||||
const Loader::SymbolTable *symtab) const;
|
||||
const Loader::SymbolTable *symtab) const override;
|
||||
};
|
||||
}};
|
||||
|
||||
|
||||
@@ -15,7 +15,7 @@ output header {{
|
||||
{ }
|
||||
|
||||
std::string generateDisassembly(Addr pc,
|
||||
const Loader::SymbolTable *symtab) const;
|
||||
const Loader::SymbolTable *symtab) const override;
|
||||
};
|
||||
}};
|
||||
|
||||
@@ -50,9 +50,10 @@ def template MwaitDeclare {{
|
||||
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;
|
||||
};
|
||||
}};
|
||||
|
||||
@@ -94,7 +95,7 @@ output header {{
|
||||
}
|
||||
|
||||
std::string generateDisassembly(Addr pc,
|
||||
const Loader::SymbolTable *symtab) const;
|
||||
const Loader::SymbolTable *symtab) const override;
|
||||
};
|
||||
}};
|
||||
|
||||
|
||||
@@ -54,7 +54,7 @@ output header {{
|
||||
}
|
||||
|
||||
std::string generateDisassembly(Addr pc,
|
||||
const Loader::SymbolTable *symtab) const;
|
||||
const Loader::SymbolTable *symtab) const override;
|
||||
};
|
||||
}};
|
||||
|
||||
|
||||
@@ -54,7 +54,7 @@ output header {{
|
||||
}
|
||||
|
||||
std::string generateDisassembly(Addr pc,
|
||||
const Loader::SymbolTable *symtab) const;
|
||||
const Loader::SymbolTable *symtab) const override;
|
||||
};
|
||||
}};
|
||||
|
||||
|
||||
@@ -60,10 +60,11 @@ output header {{
|
||||
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;
|
||||
};
|
||||
|
||||
/**
|
||||
@@ -91,10 +92,11 @@ output header {{
|
||||
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;
|
||||
};
|
||||
}};
|
||||
|
||||
|
||||
@@ -55,10 +55,10 @@ output header {{
|
||||
{
|
||||
}
|
||||
|
||||
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;
|
||||
|
||||
};
|
||||
}};
|
||||
|
||||
@@ -42,7 +42,8 @@
|
||||
|
||||
// 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;
|
||||
@@ -60,7 +61,7 @@ output header {{
|
||||
{}
|
||||
|
||||
Fault
|
||||
execute(ExecContext *, Trace::InstRecord *) const
|
||||
execute(ExecContext *, Trace::InstRecord *) const override
|
||||
{
|
||||
panic("Tried to execute macroop directly!");
|
||||
}
|
||||
@@ -89,7 +90,7 @@ def template MacroDeclare {{
|
||||
%(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;
|
||||
};
|
||||
}
|
||||
}};
|
||||
|
||||
@@ -51,13 +51,14 @@ output header {{
|
||||
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;
|
||||
|
||||
@@ -78,7 +79,7 @@ output header {{
|
||||
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;
|
||||
};
|
||||
}};
|
||||
|
||||
|
||||
@@ -82,7 +82,7 @@ def template MicroFpOpDeclare {{
|
||||
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;
|
||||
};
|
||||
}};
|
||||
|
||||
|
||||
@@ -79,7 +79,7 @@ def template MicroLeaDeclare {{
|
||||
uint8_t _dataSize, uint8_t _addressSize,
|
||||
Request::FlagsType _memFlags);
|
||||
|
||||
Fault execute(ExecContext *, Trace::InstRecord *) const;
|
||||
Fault execute(ExecContext *, Trace::InstRecord *) const override;
|
||||
};
|
||||
}};
|
||||
|
||||
@@ -229,9 +229,10 @@ def template MicroLdStOpDeclare {{
|
||||
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;
|
||||
};
|
||||
}};
|
||||
|
||||
@@ -249,9 +250,10 @@ def template MicroLdStSplitOpDeclare {{
|
||||
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;
|
||||
};
|
||||
}};
|
||||
|
||||
|
||||
@@ -61,7 +61,7 @@ def template MicroLimmOpDeclare {{
|
||||
RegIndex foldOBit;
|
||||
|
||||
std::string generateDisassembly(Addr pc,
|
||||
const Loader::SymbolTable *symtab) const;
|
||||
const Loader::SymbolTable *symtab) const override;
|
||||
|
||||
public:
|
||||
%(class_name)s(ExtMachInst _machInst,
|
||||
@@ -69,7 +69,7 @@ def template MicroLimmOpDeclare {{
|
||||
uint64_t setFlags, InstRegIndex _dest,
|
||||
uint64_t _imm, uint8_t _dataSize);
|
||||
|
||||
Fault execute(ExecContext *, Trace::InstRecord *) const;
|
||||
Fault execute(ExecContext *, Trace::InstRecord *) const override;
|
||||
};
|
||||
}};
|
||||
|
||||
|
||||
@@ -55,7 +55,7 @@ def template MediaOpRegDeclare {{
|
||||
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;
|
||||
};
|
||||
}};
|
||||
|
||||
@@ -69,7 +69,7 @@ def template MediaOpImmDeclare {{
|
||||
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;
|
||||
};
|
||||
}};
|
||||
|
||||
|
||||
@@ -109,7 +109,7 @@ def template MicroRegOpDeclare {{
|
||||
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;
|
||||
@@ -129,7 +129,7 @@ def template MicroRegOpImmDeclare {{
|
||||
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;
|
||||
|
||||
@@ -50,7 +50,7 @@ output header {{
|
||||
uint16_t _target, uint8_t _cc);
|
||||
|
||||
std::string generateDisassembly(Addr pc,
|
||||
const Loader::SymbolTable *symtab) const;
|
||||
const Loader::SymbolTable *symtab) const override;
|
||||
};
|
||||
}};
|
||||
|
||||
@@ -61,7 +61,7 @@ def template SeqOpDeclare {{
|
||||
%(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;
|
||||
|
||||
@@ -52,7 +52,7 @@ output header {{
|
||||
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
|
||||
@@ -67,10 +67,10 @@ output header {{
|
||||
{
|
||||
}
|
||||
|
||||
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;
|
||||
};
|
||||
}};
|
||||
|
||||
@@ -81,7 +81,7 @@ def template MicroFaultDeclare {{
|
||||
%(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;
|
||||
};
|
||||
}};
|
||||
|
||||
@@ -214,7 +214,7 @@ def template MicroFenceOpDeclare {{
|
||||
const char * instMnem,
|
||||
uint64_t setFlags);
|
||||
|
||||
Fault execute(ExecContext *, Trace::InstRecord *) const;
|
||||
Fault execute(ExecContext *, Trace::InstRecord *) const override;
|
||||
};
|
||||
}};
|
||||
|
||||
|
||||
Reference in New Issue
Block a user