Go to the documentation of this file.
34 #ifndef __GPU_STATIC_INST_HH__
35 #define __GPU_STATIC_INST_HH__
49 #include "enums/GPUStaticInstFlags.hh"
50 #include "enums/StorageClassType.hh"
117 return _flags[UnconditionalJump];
221 fatal(
"calling initiateAcc() on a non-memory instruction.\n");
228 fatal(
"calling completeAcc() on a non-memory instruction.\n");
291 fatal(
"kernel launch instruction should not be executed\n");
322 #endif // __GPU_STATIC_INST_HH__
bool isAtomicExch() const
#define fatal(...)
This implements a cprintf based fatal() function.
bool isFlatScratchRegister(int opIdx) override
int instSize() const override
virtual int coalescerTokenCount() const
bool isEndOfKernel() const
bool isSystemCoherent() const
virtual int numSrcRegOperands()=0
virtual int getNumOperands()=0
GPUStaticInst(const std::string &opcode)
bool isKernelLaunch() const
int numOpdDWORDs(int operandIdx)
void generateDisassembly() override
virtual TheGpuISA::ScalarRegU32 srcLiteral() const
Enums::StorageClassType executed_as
bool isDstOperand(int operandIndex) override
bool isSrcOperand(int operandIndex) override
virtual int getRegisterIndex(int operandIndex, GPUDynInstPtr gpuDynInst)=0
const std::string & disassemble()
virtual int numDstRegOperands()=0
const std::string _opcode
virtual bool isVectorRegister(int operandIndex)=0
const std::string & opcode() const
def format Nop(code, *opt_flags)
virtual void execute(GPUDynInstPtr gpuDynInst)=0
virtual bool isExecMaskRegister(int opIdx)=0
virtual void initiateAcc(GPUDynInstPtr gpuDynInst)
std::bitset< Num_Flags > _flags
void instAddr(int inst_addr)
virtual bool isDstOperand(int operandIndex)=0
virtual bool isSrcOperand(int operandIndex)=0
bool isExecMaskRegister(int opIdx) override
bool isUnconditionalJump() const
virtual bool isFlatScratchRegister(int opIdx)=0
virtual bool isScalarRegister(int operandIndex)=0
bool isGloballyCoherent() const
Coherence domain of a memory instruction.
static uint64_t dynamic_id_count
int getNumOperands() override
virtual int getOperandSize(int operandIndex)=0
int numSrcRegOperands() override
int _ipdInstNum
Identifier of the immediate post-dominator instruction.
bool isReadOnlySeg() const
bool isScalarRegister(int operandIndex) override
void execute(GPUDynInstPtr gpuDynInst) override
bool isKernArgSeg() const
virtual void generateDisassembly()=0
std::shared_ptr< GPUDynInst > GPUDynInstPtr
virtual int instSize() const =0
int getOperandSize(int operandIndex) override
bool isPrivateSeg() const
int getRegisterIndex(int operandIndex, GPUDynInstPtr gpuDynInst) override
bool isVectorRegister(int operandIndex) override
virtual uint32_t getTargetPc()
int numDstRegOperands() override
bool isAtomicNoRet() const
bool isCondBranch() const
virtual void completeAcc(GPUDynInstPtr gpuDynInst)
Generated on Wed Sep 30 2020 14:02:01 for gem5 by doxygen 1.8.17